gpt4 book ai didi

.htaccess - 强制使用 SSL、WWW 并删除 index.php htaccess

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

如何使用 htaccess 实现所有这些。到目前为止,我有 -

强制执行 SSL

RewriteCond %{HTTPS} !on [OR]

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]

RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301]

并删除 index.php

RewriteCond %{THE_REQUEST} ^.*/index.php

RewriteRule ^(.*)index.php$ https://www.example.com/$1 [R=301,L]

它似乎在大多数情况下都有效,但是当我输入类似“example.com/index.php”的内容时,出现错误。它被重定向到

https://www.example.com/https://www.example.com/

我知道为什么会这样,但想不出一个规则来组合我需要的一切并使其发挥作用。

最佳答案

猜猜看,您在第一条规则中遗漏了 L 标志:

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

如果没有 L 标志,请求将被标记为“重定向”,但会继续处理其他规则。从您看到的结果来看,这 2 条规则似乎相互干扰。


But is there any way to reduce the redirects when I type example.com/index.php

不确定这是否可行,因为我无法测试它,但也许是这样的?

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

关于.htaccess - 强制使用 SSL、WWW 并删除 index.php htaccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433350/

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