2016-12-26 8 views
0

Ich habe diesen Code, aber es funktioniert nicht wie ich erwartet habe..htaccess directoryIndex für Umleitung funktioniert nicht

Was ich tun muß, ist die DirectoryIndex- mit Parametern wie diese

DirectoryIndex /index.php/english/login/ 

zu verwenden und es funktioniert nicht, aber wenn ich diese verwenden

DirectoryIndex /index.php?language=english&module=login 

es funktioniert. Ich brauche die mit Backslash wegen der URL, wenn der Benutzer meine Indexdatei besucht, sollte er auf die Standard-URL mit Parametern umgeleitet werden.

z.B.

Wenn der Benutzer besuchen die http://xxx.xxx.xxx.xxx/ er automatisch http://xxx.xxx.xxx.xxx/english/login/

# Rewrite Rules 
RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([^/]+)/([^/]+)/?$ index.php?language=$1&module=$2 [L,QSA] 

# Declare Environments 
SetEnvIf Request_URI "^.*" default_url=//xxx.xxx.xxx.xxx/english/login/ 

# Default Landing Page 
DirectoryIndex /index.php/english/login/ 

# Error Redirection 
# Error 403 - Forbidden 
ErrorDocument 403 http:%{ENV:default_url} 
# Error 404 - Not Found 
ErrorDocument 404 http:%{ENV:default_url} 

# Prevent Directory Listing 
Options -Indexes 

# Protect Files 
<Files configuration.ini> 
    Order allow,deny 
    Deny from all 
</Files> 

Antwort

1

Hat dieser URL umleiten werden Sie so versuchen ...

RewriteRule ^home/([^-]+)/([^/]+)/?$ index.php?language=$1&module=$2 [L,NC] 
+0

es nicht funktioniert und was ich brauche, ist zu erreichen Um den Benutzer zu http://xxx.xxx.xxx.xxx/english/login umzuleiten, wenn der Benutzer nur http://xxx.xxx.xxx.xxx statt http://xxx.xxx.xxx.xxx/ aufruft ? language = Englisch & module = login –

+1

für dieses .. nur tun 'RewriteRule^$ index.php? language = $ 1 & module = $ 2 [L, QSA]' –

+0

es funktioniert jetzt. Vielen Dank –