我在我的服务器上运行多个顶级域名,我试图将它们全部从非www重定向到www,这工作得很好,但有一些例外我需要修复。301重定向问题与子域
问题一是一个通用的代码,运行良好,除了子域也被重定向,这也不会发生。这里是代码:
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
如果我可以管理这一个不重定向的子域,这将是一个完美的解决方案。
我也试过这一个,这是一个更多的代码,因此不太好,它不重定向的子域。但是,还有一个问题:url samplefolder/folder2/index.html被重定向到www.sample.com而不是www.sample.com/folder/folder2/index.html
这是验证码:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^sample\.com [NC]
RewriteRule ^(.*) http://www.sample.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^sample\.es [NC]
RewriteRule ^(.*) http://www.sample.es/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^sample\.co.uk [NC]
RewriteRule ^(.*) http://www.sample.co.uk/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^sample\.nl [NC]
RewriteRule ^(.*) http://www.sample.nl/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^sample\.fr [NC]
RewriteRule ^(.*) http://www.sample.fr/$1 [L,R=301]
我如何能解决第一种方法,因此不会忽略子域,如sub.sample.com请求并重定向到www版本的所有请求,包括像sample.com/网址的想法文件夹/ folder2/index.html到www.sample.com/folder/folder2/index.html?
+1,这是一个非常好的问题。不要担心你在其他地方收到的苛刻语气 - 通常不会那么尖锐! – halfer