令我感到惊讶的是,谷歌搜索并没有为我的问题找回任何有用的解决方案。
我想将非www请求重定向到www ..但如果它是子域名,我希望它忽略它。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
这会将非www重定向到www,但如果我输入子域,则会附加“www”。在它面前..我需要阻止这种行为。
答案 0 :(得分:3)
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
还要考虑HTTPS:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
答案 1 :(得分:1)
我已经做了同样的事情,这对我有用
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]