将 https://www 重定向到 https://non-www

Posted

技术标签:

【中文标题】将 https://www 重定向到 https://non-www【英文标题】:Redirect https://www to https://non-www 【发布时间】:2017-02-13 13:41:39 【问题描述】:

我想要所有这些地址:

    http://www.example.com (目前使用我的 .htaccess 文件正确重定向) http://example.com (目前使用我的 .htaccess 文件正确重定向) https://www.example.com (此地址不会重定向)

重定向到https://example.com。

使用以下 .htaccess 文件,我只能将 1. 和 2. 地址重定向到 https://example.com。

只有https://www.example.com 仍未重定向到https://example.com。

这是我的 .htacess 文件

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# URL with www rewrite to https without www
RewriteCond %HTTP_HOST ^(www\.)(.*) [NC]
RewriteRule (.*) https://%2%REQUEST_URI [L,R=301]

# URL without www rewrite to https
RewriteCond %HTTPS off
RewriteCond %HTTP_HOST !^(www\.)(.*) [NC]
RewriteRule (.*) https://%HTTP_HOST%REQUEST_URI [L,R=301]

RewriteRule ^index\.php$ - [L]
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

【问题讨论】:

检查 this answer 可能会有帮助。 【参考方案1】:

你的问题肯定是重复的,但我找不到一个像样的问题。

# URL with wrong domain to right one + https
RewriteCond %HTTP_HOST !=example.com
RewriteRule .* https://example.com/$0 [L,R=301]

# URL with no https fix (domain already correct otherwise first rule would have matched)
RewriteCond %HTTPS =off
RewriteRule .* https://%HTTP_HOST/$0 [L,R=301]

【讨论】:

以上是关于将 https://www 重定向到 https://non-www的主要内容,如果未能解决你的问题,请参考以下文章

将 https://www 重定向到 https://non-www

NGINX 将 http 重定向到 https,将非 www 重定向到 ww

将 https 重定向到非 www 和 http 到 www

将 https 非 www 重定向到 https www 不工作的虚拟主机

301 将 HTTP 重定向到 HTTPS - 非 www 到 www

使用 .htaccess 将 www URL 重定向到 https 的非 www