我需要编写一个 .htaccess 重定向规则,该规则将永久重定向以下请求:
example.com
到www.example.com
和
example.com/stuff/anyfile.ext
到www.example.com/stuff/anyfile.ext
但不重定向其他形式,例如
cdn.example.com
或cdn.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]
清除浏览器缓存后对此进行测试。