重写 url 而不影响服务器请求方法


Rewrite url without affecting the server request method

这是我的问题:
我想从我的 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]

。这有效,但我有一个问题。

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

所以。。有没有其他方法可以隐藏".php"扩展名?

无论如何,谢谢你:)

它之所以这样工作,是因为您[R]将所有以 .php 结尾的请求重定向到新 URL,而不会.php。您正在执行重定向。您无法重定向 POST 请求。如果您不希望.php位于末尾,请不要链接到这些 URL。使您的表单操作直接提交到非.php URL。