我已经在网上搜索了一个很好的通用 .htaccess 脚本,用于将非 www 重定向到 www,目前我正在使用这个:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
这工作正常,但如果我去一个子域 www。将被添加。有没有人有一个很好的重定向 .htaccess 脚本?
试试这个 :
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} !^([^\.]+)\.([^\.]+)\.([a-z]{2,4})$
RewriteRule (.*) http://www.%{HTTP_HOST}/$1 [R=301,L]
@Vince 如果请求的 url 类似于:
恕我直言,我认为用你的方法它永远不会被重定向到:
这个怎么样?
# Rewrite domain
RewriteCond %{HTTP_HOST} !^www\.([a-z1-9\-]+)\.([a-z]+)$ [NC] [and]
RewriteCond %{HTTP_HOST} ([a-z1-9\-]+)\.([a-z]+)$ [NC]
RewriteRule ^(.*)$ http://www.%1.%2/$1 [R=301,L]
此外,你们可能会发现这些参考资料很有用:
https://www.drupal.org/node/93603
http://www.askapache.com/htaccess/modrewrite-tips-tricks.html