Apache主机名RewriteRule问题

时间:2014-03-03 12:10:09

标签: apache .htaccess mod-rewrite

我在.htaccess文件中使用多个RewriteRule时遇到问题,如下所示:

RewriteCond %{HTTP_HOST} www.ourwebsite.co.uk
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{HTTP_HOST} server12345
RewriteRule ^(.*)$ /subfolder/index.php/$1 [L]

每个人分别独立工作。但是一旦我加入,第二个将无法工作。第一个继续工作(无论顺序)但是一旦我尝试通过第二个规则访问,服务器就会抛出500内部服务器错误。

编辑:如果有帮助我希望能够通过域和

访问该网站
http://server12345/subfolder/

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

很可能你的规则是循环的,因为条件在所有情况下都会被评估为真。

试试这段代码:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} www.ourwebsite.co.uk
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} server12345
RewriteRule ^(.*)$ /subfolder/index.php/$1 [L]