2016-12-26 32 views
0

我有這個代碼,但它不工作,因爲我的預期。.htaccess目錄索引重定向不起作用

我需要做的就是使用的DirectoryIndex帶參數這樣

DirectoryIndex /index.php/english/login/ 

和它不工作,但如果我用這一個

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

它的工作原理。我需要帶反斜槓的URL,所以當用戶訪問我的索引文件時,他應該被重定向到帶有參數的默認URL。

例如

如果用戶訪問http://xxx.xxx.xxx.xxx/他應該被自動重定向到該網址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> 

回答

1

你嘗試這樣的...

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

它不工作,我需要實現的是什麼如果用戶只訪問http://xxx.xxx.xxx.xxx而不是http://xxx.xxx.xxx.xxx/,則將用戶重定向到http://xxx.xxx.xxx.xxx/english/login。 ?language = english&module = login –

+1

for this..just do'RewriteRule^$ index.php?language = $ 1&module = $ 2 [L,QSA]' –

+0

現在有效。謝謝 –