RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
如果我打开mysite.com,那么这会将我重定向到www.mysite.com。还行吧。 但是,如果我打开mysite.com/admin,那么这会将我重定向到www.mysite.com而不是www.mysite.com/admin
我该如何解决?
答案 0 :(得分:1)
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
应该做的伎俩。使用括号()
匹配模式,然后匹配$1
反向引用,将其重新放回新网址。
编辑,考虑它,同样你可以将^字符(匹配on子句)更改为a。在您的原始模式中应该与上面相同。
RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
RewriteRule . http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]