gpt4 book ai didi

.htaccess - 将非 https 和非 www 重定向到 https ://www with wildcard support

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

我可以实现以下目标..

https://domain.com -> https://www.domain.com
http://www.domain.com -> https://www.domain.com
http://domain.com -> https://www.domain.com

一切正常...但另外我希望通配符能够正常工作

https://domain.com/randomblabla.html -> https://www.domain.com/randomblabla.html

randomblabla.html 不存在的地方...它只显示 index.php 的内容...在我设置 https 重定向之前它工作正常..但现在它重定向到 https://www.domain.com/index.php

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule (.*)(\/?)$ index.php [QSA,NC,L]



RewriteEngine On

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

# Remove Trailing Slashes...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L,NE]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

最佳答案

问题是前端 Controller 像顶部规则一样冗余存在。试试这个代码:

RewriteEngine On
RewriteBase /

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

# Remove Trailing Slashes...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{THE_REQUEST} \s(.+?)/+[?\s]
RewriteRule ^(.+?)/$ /$1 [R=301,L,NE]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

确保在新浏览器中进行测试以避免旧的 301 缓存。

关于.htaccess - 将非 https 和非 www 重定向到 https ://www with wildcard support,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27173552/

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