gpt4 book ai didi

apache - .htaccess 中不同协议(protocol)的 URL 重写

转载 作者:行者123 更新时间:2023-12-04 07:29:22 26 4
gpt4 key购买 nike

我需要 .htaccess 中的 url 重写方面的帮助。

所以问题在于不同的协议(protocol):https 和 http。重写的主要目的是从 URL 中删除“www”,但协议(protocol)应该保持与以前相同。

例如,当我有像 这样的 URL 时http ://www.domain.com/request,应该重定向到 http ://domain.com/request。我用这些规则解决它:

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

但万一,当 URL 看起来像 https ://www.domain.com/request 它应该被重定向到 https ://domain.com/request。

不幸的是,上述规则将重定向到 http 无论当前的协议(protocol)。

提前致谢。

最佳答案

这与链接的可能副本非常相似,但因为它强制 www在您想要删除它的地方,它可能需要一个单独的答案。

尝试这样的事情:

RewriteCond %{HTTP_HOST} ^www\.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www\.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]

关于apache - .htaccess 中不同协议(protocol)的 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3634101/

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