我需要重定向所有子域请求以重定向到我的 htaccess 中的主域。我需要它还包括某种通配符重定向。
例如Washington.mysite.com/ 重定向至 mysite.com/washington
但我还需要将子域上的任何旧网址重定向到 mysite.com/washington
例如Washington.mysite.com/category.aspx?washington-attractions&CatID=17 重定向至 my-site.com/washington
到目前为止,这是我的代码:
RewriteCond %{HTTP_HOST} ^washington\.mysite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.washington\.mysite\.com$
RewriteRule ^(.*)$ "http\:\/\/www\.mysite\.com\/washington/$1" [R=301,L]
但是它仍然将旧 URL 附加到新 URL
例如Washington.mysite.com/category.aspx?washington-attractions&CatID=17 重定向至 my-site.com/washington/category.aspx?washington-attractions&CatID=17
基本上我需要将 Washington.mysite.com/*(anything) 重定向到 my-site.com/washington
任何建议将不胜感激 :)
RewriteCond %{HTTP_HOST} ^(www\.)?washington\. [NC]
RewriteRule ^(.*)$ http://www.mysite.com/washington [R=301,L]
In your RewriteRule
你有/$1
哪个匹配(.*)
括号通配符组。这就是您从附加的旧 URL 获取路径的原因。
我结合了你的2个RewriteCondition
的,使得(www\.)
匹配可选的?
.
The [NC]
标志是nocase http://httpd.apache.org/docs/current/rewrite/flags.html#flag_nc flag.
要清除查询字符串,请附加?
到重写 URL 的末尾
RewriteCond %{HTTP_HOST} ^(www\.)?washington\. [NC]
RewriteRule ^(.*)$ http://www.mysite.com/washington? [R=301,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)