我在.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/
有什么建议吗?
答案 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]