隐藏PHP适用于POST请求但不适用于GET

时间:2018-04-15 03:58:31

标签: php .htaccess url

我把它放在WWW-root中名为.htaccess的文件中:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(([A-Za-z0-9\-]+/)*[A-Za-z0-9\-]+)?$ $1.php

适用于POST请求网址,例如:

www.mywebsite.com/insertData
如果我不隐藏php扩展名,它将是insertData.php。但是,当谈到GET请求时,例如:

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

我收到404 Not Found错误。使用.php的完整GET请求可以正常工作

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

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:0)

所以你想要附加QUERYSTRING

尝试:

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