.htaccess directoryIndex用于重定向无法正常工作

时间:2016-12-26 05:54:43

标签: php apache .htaccess web

我有这段代码,但它没有按照我的预期工作。

我需要做的是使用带有这样的参数的DirectoryIndex

DirectoryIndex /index.php/english/login/

并且它不起作用但是如果我使用了这个

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

它有效。因为url我需要带反斜杠的那个,所以当用户访问我的索引文件时,他应该被重定向到带参数的默认url。

e.g。

如果用户访问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 个答案:

答案 0 :(得分:1)

你有没有试过这个......

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