我在子文件夹中托管一个单独的网站。我在.htaccess文件中设置的规则如下:
RewriteCond %{HTTP_HOST} www.example.com
RewriteCond %{HTTP_HOST} example.com
RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]
这适用于Firefox(example.com重定向到www.example.com),但不能在任何其他浏览器中使用。
知道我做错了什么吗?我已经清除缓存等,但问题仍然存在。
更新
我道歉,我应该更好地解释一下。这里有两个站点,一个用于主文件夹,另一个用于子文件夹。完整的htaccess文件如下。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mainsite.com [NC]
RewriteRule ^(.*)$ http://www.mainsite.com/$1 [R=301,NC]
RewriteCond %{HTTP_HOST} www.secondarysite.com
RewriteCond %{HTTP_HOST} secondarysite.com
RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]
第一个块用于主站点,第二个块用于辅助站点,指向子文件夹。
答案 0 :(得分:0)
尝试只保留一个条件并告诉我它是否有效:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.example\.com)?$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301]
然后添加你的行:
RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]