gpt4 book ai didi

php - htaccess 添加尾部斜杠并强制使用干净的 www

转载 作者:可可西里 更新时间:2023-11-01 13:42:09 25 4
gpt4 key购买 nike

我将我的 htaccess 文件与 mod_rewrite 一起使用来创建干净的 url,如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

我还想强制该站点具有“www”子域,并且如果 url 没有,则最重要的是添加一个尾部斜杠。

我是 mod_rewrite 的绝对菜鸟,我尝试通过组合我在 google 上找到的其他代码(我知道很遗憾)自行完成此操作,但我总是以 500 错误告终。

这是我为 force www 找到的代码:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.domain\.tld$ [NC]
RewriteRule ^(.*)$ http://domain.tld/$1 [R=301,L]
</IfModule>

感谢您的帮助。

最佳答案

尝试将 www 和结尾的斜杠分开检查。这已经过测试,希望对您有用。您没有说明您是在域根目录还是在子目录中运行 - 在寻求 htaccess 帮助时通常是很好的信息。

RewriteEngine On

# Assuming you're running at domain root. Change to working directory if needed.
RewriteBase /

#
# www check
# If you're running in a subdirectory, then you'll need to add that in
# to the redirected url (http://www.mydomain.com/subdirectory/$1

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

#
# Trailing slash check

# Don't fix direct file links
RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L,R=301]

#
# Finally, forward everything to your front-controller

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [QSA,L]

要进行调试,请注释掉各个部分并查看哪些有效/无效。

关于php - htaccess 添加尾部斜杠并强制使用干净的 www,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4410830/

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