当使用.htaccess文件扩展名删除代码时,网站表单不携带任何值


Website Form do not carry any value when .htaccess File Extension Remover Code is Used

我有这个代码在HTACCESS文件,它的工作很好,因为它删除。php文件扩展名。它还允许页面加载没有扩展。

# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks -MultiViews
Options +SymLinksIfOwnerMatch -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}'s([^.]+)'.php [NC]
RewriteRule ^ %1 [R,L,NC]
## To internally redirect /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [L]

很好。问题是当我使用这个代码

<form action="test.php" method="post" id="myform" name="myform">
<input type="text"  name="username">
<input type="submit" value="login">
</form>

On test.php echo $_REQUEST['username'];为空/null.

我试图从表单操作中删除。php,然后它工作了。但是我不能从网站中删除。php文件。

对于重复标记:我读了这篇文章,但我的问题是不同的。对于我,表单提交但不携带值。

将此规则插入RewriteBase行下面以避免重定向POST请求:

RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]