gpt4 book ai didi

apache - 将 www 重定向到非 www,同时保持协议(protocol) HTTP 或 HTTPS

转载 作者:行者123 更新时间:2023-12-02 04:23:37 25 4
gpt4 key购买 nike

我正在尝试将 HTTP 和 HTTPS 请求的 www 重定向到非 www。我的根 .htaccess 看起来像这样:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://example.com/$1 [R=301]

RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://example.com/$1 [R=301]

这没有完全按预期工作。会发生什么:

访问 http://www.example.com 会导致重定向到 http://example.com。这表明我的第一条规则和条件正在工作,mod_rewite 模块很出色并且 .htaccess 已启用。

访问 https://www.example.com 不会导致重定向。我仍然在 https://www.example.com

我的问题

为了使上述重写规则发挥作用,我的服务器必须有 SSL 证书吗?目前还没有,我想知道这是否是事情不起作用的原因。

最佳答案

也许您可以尝试以下方法:

RewriteEngine on

# Check if the host contains "www."
RewriteCond %{HTTP_HOST} ^www\.

# Check if we're using HTTPS
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$

# Redirect accordingly
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]

关于apache - 将 www 重定向到非 www,同时保持协议(protocol) HTTP 或 HTTPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30274281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com