gpt4 book ai didi

apache - .htaccess - 强制使用单域和 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 13:15:31 25 4
gpt4 key购买 nike

我有一个用于 www.example.com 的 SSL,以及一堆别名域(例如 mydomain.co.uk、otherdomain.com 等)停放在 cPanel 帐户上。

我想做的是强制使用 https://www.example.com对于所有请求。域之后的任何内容都应按原样附加(稍后在 .htaccess 中也会为 SEO 友好的 URL 重写)。

例如:-

http://example.com/page/2/
https://example.com/page/2/
http://www.otherdomain.com/page/2/
http://mydomain.co.uk/page/2/

都应该变成

https://www.example.com/page/2/

这几乎可以工作:-

RewriteEngine on

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

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

但是能一下子搞定吗?此外,上面再次将查询字符串附加到 URL,例如:-

http://www.example.com/page/2/

结束为:-

https://www.example.com/page.php/2/?2/

搜索引擎友好的 SEO 部分是:-

Options +SymlinksIfOwnerMatch +MultiViews
RewriteRule ^(.*).php/(.*) $1.php?$2

应该保持不变。

IIRC,在我强制使用 SSL 之前,仅 www.example.com 的强制工作正常:-

RewriteEngine on

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

非常感谢任何帮助!

最佳答案

要在单个重定向中强制使用 www 和 https,您可以使用以下规则:

RewriteEngine on
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [L,NE,R]

关于apache - .htaccess - 强制使用单域和 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41984285/

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