php - https 非 www 重定向

标签 php .htaccess ssl https

我正在尝试将我的所有 URL 重定向到 https://没有www.

如果有人输入www.http://http://他们被重定向到https://如果他们输入 https://www. ,问题就来了那么它不会重定向到 https://website

我在我的 htaccess 中使用以下内容,有什么建议吗?

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

最佳答案

这条规则可以满足这两个要求:

RewriteCond %{HTTP_HOST} ^www\. [NC,OR]
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L,NE]

确保删除显示的规则并在新浏览器中进行测试以避免旧的缓存。

关于php - https 非 www 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33355751/

相关文章:

php - 在 codeigniter 中检查它是否为空

php - 来自 MySQL/PHP 的 Highcharts 数据

PHP - 声明一个全局数组

javascript - 阻止恶意推荐网站

php - 非常简单的 RewriteRule 不起作用

go - go - 如何使用证书存储中的证书并在 gin 框架中运行 TLS?

PHP mysqli 无法识别远程数据库的 SSL 证书

php - 如何以编程方式使用 PHP Lib 在 Google Console Cloud 平台中创建项目?

php - 将脚本文件存储在 Web 根目录之外

带有 cURL 的 PHP7、HTTP2