gpt4 book ai didi

php - 仅一个文件的 RewriteRule

转载 作者:行者123 更新时间:2023-12-01 22:40:17 26 4
gpt4 key购买 nike

基本上我有下面的 htaccess。目前它运行良好,但它会重定向每个文件。例如,当我只想将 about.php 重定向到/about 时,foo.php 到/foo。基本上,我想强制删除 about.php 的 .php 扩展名,但只删除该文件。

RewriteRule ^about$ about.php [L]
RewriteCond %{REQUEST_URI} ^/about.php$ [NC]
RewriteRule .* /about [R,L]

现在我有了上面的代码。它现在会导致太多重定向错误。

最佳答案

RewriteRule ^about$ about.php [L]

这是您正确的重写,这意味着对 /about 的请求将被处理为就好像它是对 /about.php 的请求一样>:

至于这个单独的问题:

I don't want the user to see about.php even if he types that in

您需要从 /about.php/about重定向。这就是你的第二行和第三行所做的(使用 [R] 标志进行重定向的 RewriteRule),但条件是广泛的方式并且还包含一些多余的东西:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L,NC]

将其更改为:

RewriteCond %{REQUEST_URI} ^/about.php$ [NC]
RewriteRule .* /about [R,L]

Does this keep GET params?

如果添加 [QSA] 标志(查询字符串追加),是的。

更新

正如@PeterWooster 所指出的,重定向部分可以简化为:

Redirect /about.php /about

关于php - 仅一个文件的 RewriteRule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15443977/

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