如果用户已通过http://mysite或http://www.mysite访问网站,我将强制更改网址
然而,目前我只检查该网站不等于主子域名,这是http://store
我也有另一个子域,但这也被覆盖了,所以我需要改变我当前代码的工作方式,这是:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^store\.mysite\.com [NC]
RewriteRule (.*) http://store.mysite.com/$1 [R=301,L]我更愿意让它检查url是不是以下两种之一:
http://mysite.com
http://www.mysite.com...and然后应用重写规则,我如何更改我的重写条件来执行此操作?
发布于 2012-03-23 23:10:29
试试这个--在这里工作得很好:
RewriteCond %{HTTP_HOST} ^(mysite\.com|www\.mysite\.com)$ [NC]
RewriteRule .* http://store.mysite.com%{REQUEST_URI} [R=301,L]QSA标志,因为它是301重定向(取决于你实际的URL) -- URL其他方法:
1)每个域名单独条件(需要指定使用OR逻辑,不使用默认AND):
RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule .* http://store.mysite.com%{REQUEST_URI} [R=301,L]2)同上..但是使用纯文本比较而不是正则表达式:
RewriteCond %{HTTP_HOST} =mysite.com [NC,OR]
RewriteCond %{HTTP_HOST} =www.mysite.com [NC]
RewriteRule .* http://store.mysite.com%{REQUEST_URI} [R=301,L]发布于 2012-03-23 18:42:53
到目前为止,我已经这样做了:
RewriteCond %{HTTP_HOST} mysite\.com [NC]
RewriteCond %{HTTP_HOST} www\.mysite\.com [NC]
RewriteRule (.*) http://store.mysite.com/$1 [R=301,L]这方面有没有可以改善的地方呢?
实际上,第一个RewriteCond没有检测到http://mysite.com
https://stackoverflow.com/questions/9837394
复制相似问题