gpt4 book ai didi

.htaccess - htaccess 重写导致 500 错误而不是 404

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

我最近将这一点代码添加到我的 .htaccess 文件中:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

好吧,我想我明白这里发生了什么。如果找不到文档,这段用于删除 PHP 文件扩展名的代码会导致循环。这个循环会导致 500 服务器错误,而不是(正确的)404。不幸的是,我对这些重写实际上在做什么知之甚少,所以我不知道如何重写它以仅在文档存在时触发此重定向。

我读过一些书,但不确定 Apache 认为什么是“常规”文件。我的意思是它可以工作,但为什么第一行不是 -f 而不是 !-f-u 是实现此目的的唯一方法吗?

最佳答案

您应该测试新路径是否指向现有文件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

否则你将得到无限递归(错误 500)。

关于.htaccess - htaccess 重写导致 500 错误而不是 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1745680/

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