如何使用htaccess文件保护php文件?

时间:2017-08-05 22:47:12

标签: php .htaccess mod-rewrite

我做了一个休息的PHP服务器,所以大部分路径都是这样的

/test/home.php/product

我的目的是保护api并防止直接访问PHP文件。 经过一些研究,我发现有人询问如何隐藏PHP扩展 这是他的解决方案:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

所以新路由为/test/product,它提供与/test/home.php/product相同的回复 但这似乎没用,因为旧的网址仍在工作

我不能阻止访问是否在网址中出现PHP扩展名?

PS:我的问题与htaccess prevent access to .php and allow only with RewriteRule

不同

因为我要求保护其中包含php扩展的路由不以php结尾

2 个答案:

答案 0 :(得分:1)

RewriteCond %{THE_REQUEST} /.+?\.php[\s?] [NC]
RewriteRule ^ - [F]

来自:htaccess prevent access to .php and allow only with RewriteRule

答案 1 :(得分:0)

您应该做的是在API文件的顶部:

{{1}}

然后创建一个允许访问的代理脚本:

{{1}}