0

这是我的问题:
我想从我的 URL 中删除“.php”扩展名。

我找到了这段代码:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteRule ^forums/ - [L,NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule ^ %1 [R,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

...这行得通,但我有一个问题。

我真的不知道为什么,但是这段代码以某种方式将服务器请求方法从
POST 更改为 GET。因此,如果我在 .htaccess 文件中使用此代码,我将无法再使用 POST 方法。

所以..还有其他方法可以隐藏“.php”扩展名吗?

无论如何谢谢你:)

4

1 回答 1

2

它以这种方式工作是因为您将[R]所有以 .php 结尾的请求重定向到没有 .php 的新 URL。您正在执行重定向。您不能重定向 POST 请求。如果您不希望 .php 结尾,请不要链接到这些 URL。让您的表单操作直接提交到非 .php URL。

于 2013-10-27T21:31:57.390 回答