首页 > 解决方案 > www 不会重定向到带有 https 的非 www

问题描述

我的问题是当我输入example.comwww.example.com在浏览器中它重定向到https://example.com但是当我输入https://www.example.com时它不会重定向到https://example.com.

我想要任何可能是 url http 或 https 和 www 或非 www,它总是指向https://example.com.

我已经为 htaccess 文件使用了下面的 url 重写。

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

提前致谢。

标签: apache.htaccessredirectmod-rewriteurl-rewriting

解决方案


使用您显示的示例,您能否尝试以下操作。请确保在测试 URL 之前清除浏览器缓存。

还要确保这应该是 .htaccess 文件中的 TOP MOST 规则。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*) [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [NE,R=301,L]

无论 url 有 http 还是 https 或者 url 有 www 或没有 www,这都应该重定向 url 到没有 www 的 https。


推荐阅读