我正在进行Magento多线程设置,并且我将所有非www请求发送到.htacces中的www并重写:
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
我正在使用子域来测试新网站,对于这个子域我不需要重写。因此我使用:
RewriteCond %{HTTP_HOST} ^sub\.domain\.com [NC]
RewriteRule ^(.*) - [L]
现在唯一的问题是,当我访问http:// sub.domain.com时,它可以工作,但是当我转到某个类别或产品时,例如http:// sub.domain.com/cat1或http:// sub。 domain.com/product-red.html它不再起作用,我收到“未找到”消息。
我需要在代码中添加什么才能排除整个子域,包括/?之后的所有内容。
不要使用单独的规则来忽略所有子域请求,否则Magento的路由规则也将被跳过。而是像这样调整你的www
规则来忽略子域:
RewriteCond %{HTTP_HOST} !^(www|sub)\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}/$1 [R=301,L,NE]