我在子文件夹中托管一个单独的站点。我在。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]
第一个块用于主站点,第二个块用于辅助站点,指向子文件夹
试着只保留一个条件并告诉我它是否有效:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www.example.com)?$
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301]
然后加上你的台词:
RewriteCond %{REQUEST_URI} !subfolder/
RewriteRule ^(.*)$ subfolder/$1 [L]