将非 www 重定向到 www 而不重定向 cdn



我需要编写一个 .htaccess 重定向规则,该规则将永久重定向以下请求:

example.comwww.example.com

example.com/stuff/anyfile.extwww.example.com/stuff/anyfile.ext

但不重定向其他形式,例如

cdn.example.comcdn.example.com/stuff/anyfile.ext www.example.com

我有这个:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

。但它不适用于指向图像的链接。 因此:

example.com/stuff/my-image.jpg

不会重定向到:

www.example.com/stuff/my-image.jpg

不可能吗?

完整的.htaccess链接:http://pastebin.com/wCmE9zDw

稍微修改你的条件。让它只检查域而不是没有www。看看这是否适合您。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

您也可以在规则中专门使用您的域。

RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

使用此规则:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

清除浏览器缓存后对此进行测试。

最新更新