在 htaccess 中排除子域将非 www 重写为 www
Exclude sub domain rewrite non www to www in htacces
我有一个 Magento 多商店设置,我正在通过重写将所有非 www 请求发送到 .htacces 中的 www:
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [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 它不再起作用,我收到 "Not Found" 消息。
我需要在代码中添加什么才能排除整个子域,包括 / 之后的所有内容?
不要像那样使用单独的规则来忽略对子域的所有请求,否则 Magento 的路由规则也将被跳过。而是像这样调整您的 www
规则以忽略子域:
RewriteCond %{HTTP_HOST} !^(www|sub)\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}/ [R=301,L,NE]
我有一个 Magento 多商店设置,我正在通过重写将所有非 www 请求发送到 .htacces 中的 www:
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [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 它不再起作用,我收到 "Not Found" 消息。
我需要在代码中添加什么才能排除整个子域,包括 / 之后的所有内容?
不要像那样使用单独的规则来忽略对子域的所有请求,否则 Magento 的路由规则也将被跳过。而是像这样调整您的 www
规则以忽略子域:
RewriteCond %{HTTP_HOST} !^(www|sub)\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}/ [R=301,L,NE]