使用 .htaccess 将 www URL 重定向到 https 的非 www
Posted
技术标签:
【中文标题】使用 .htaccess 将 www URL 重定向到 https 的非 www【英文标题】:Using .htaccess to redirect www URLs to non-www for https 【发布时间】:2012-02-06 22:45:57 【问题描述】:请为我提供 .htaccess 语法以执行以下操作:
-
从 http 重定向到 https
从 https://www.domain.com.uk 重定向到 https://domain.com.uk
我尝试了以下方法,但没有成功:
RewriteCond %HTTP_HOST ^www.(.*)
重写规则 ^.*$ https://%1/$1 [R=301,L]
【问题讨论】:
【参考方案1】:尝试将以下内容添加到域根文件夹中的 htaccess 文件中。
RewriteEngine on
RewriteBase /
#if not domain.com.uk then redirect to domaim.com.uk
RewriteCond %HTTP_HOST !^domain\.com\.uk$ [NC]
RewriteRule .* http://domain.com.uk%REQUEST_URI [L,R=301]
#if not https
RewriteCond %HTTPS off
#redirect to https
RewriteRule .* https://%HTTP_HOST%REQUEST_URI [L,R=301]
【讨论】:
它可以正常将 http 重定向到 https 但它没有从 www.domain.com.uk 重定向到 domain.com.uk @RamyAllam 您的 .htacccess 文件中还有其他规则吗?规则是否完全按照上面的顺序排列?如果其中任何一个不同,则可能会影响结果 我在 .htaccess 中没有任何其他规则,我用相同的语法添加了它。我还尝试将它直接放入 httpd.confhttp://
,即它应该是RewriteRule .* http://domain.com.uk%REQUEST_URI [L,R=301]
。没有它就行不通。
很抱歉,我没有理解您的最后评论。我希望能给我更多细节或输入完整的语法谢谢【参考方案2】:
RewriteEngine On
RewriteCond %HTTP_HOST ^(www.)?domain.com.uk
RewriteCond %HTTPS off
RewriteRule ^(.*)$ https://domain.com.uk/$1 [R=301,L]
对我来说,这项工作刚刚经过测试。所以http://www.domain.com.uk into https://domain.com.uk
。
【讨论】:
以上是关于使用 .htaccess 将 www URL 重定向到 https 的非 www的主要内容,如果未能解决你的问题,请参考以下文章
使用 .htaccess 将 web Url 更改为另一个 Url? [复制]
通过 htaccess 将 index.html 和所有 http、https、www 和非 www 版本的主页 URL 重定向到 https://www 根 URL 的 301
我如何使用 .htaccess 清理 php 生成的 url
.htaccess 规则将图像文件的直接视图重定向到页面,图像作为查询字符串传递