隐藏PHP在POST请求上工作,但在GET上不工作

隐藏PHP在POST请求上工作,但在GET上不工作,php,.htaccess,url,Php,.htaccess,Url,我将其放在WWW根目录中名为.htaccess的文件中: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php 它适用于POST请求url,例如: www.mywebsite.com/insertData 如果不隐藏php扩展名,它将是insertData.

我将其放在WWW根目录中名为.htaccess的文件中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php
它适用于POST请求url,例如:

www.mywebsite.com/insertData
如果不隐藏php扩展名,它将是insertData.php。但是,在获取请求时,例如:

www.mywebsite.com/getData?email=test&id=12345
我得到404找不到错误。php的完整GET请求工作得很好

www.mywebsite.com/getData.php?email=test&id=12345

有什么建议吗?谢谢

所以您希望追加查询字符串

尝试:

  • L:Last(匹配此规则后将停止处理规则)
  • QSA: 查询字符串Apend,以防您得到类似于?id=12345的内容
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php [L,QSA]