我无法在htaccess中将非www重定向到www。
目标是让特定域(domain1.co.uk)的非www URL(带或不带子文件夹)重定向到它们的www等价物。
所以:
'domain1.co.uk'应该重定向到www.domain1.co.uk
和
'domain1.co.uk/subfolder'应该重定向到www.domain1.co.uk/subfolder
我尝试了几件事,每件都有不良后果。
尝试#1:
RewriteCond %{HTTP_HOST} ^domain1.co.uk [NC]
RewriteRule ^(.*)$ www.domain1.co.uk/ [L,R=301]
结果#1:带有子文件夹的非www URL重定向到主页(因此,如果不在URL中包含'www',则无法访问任何子文件夹)
尝试#2:
RewriteCond %{HTTP_HOST} ^domain1.co.uk [NC]
RewriteRule ^(.*)$ www.domain1.co.uk/$1 [L,R=301]
结果#2:
'domain1.co.uk/subfolder'重定向到www.domain.co.uk/subfolder(根据需要)
但'domain1.co.uk'现在重定向到www.domain.co.uk/www/(奇怪的结果)
知道这里可能会发生什么吗?
如果有帮助的话,我很乐意发布.htaccess文件的全部内容。
答案 0 :(得分:0)
要将非www重定向到www,您可以使用:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.example.com%{REQUEST_URI} [L,NE,R=301]
在测试之前清除浏览器缓存。