您好我对.htaccess
配置知之甚少,但我想限制访问我的网络服务器上的php文件,我想只有 index.php
参数可访问。
我的文件位于子文件夹中: www.mydomain.com/sub/index.php
。我希望有权在子文件夹,css文件和js文件中打开 index.php
。
这是我到目前为止的配置:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
<Files /index.php>
Order Allow,Deny
Allow from all
</Files>
<FilesMatch "*\.(css|js)$">
Order Allow,Deny
Allow from all
</FilesMatch>
我尝试过像<Files sub/index.php>
这样的事情,但每次限制子文件夹中的所有php文件, www.mydomain.com/index.php
都能正常工作。
任何人都可以帮我吗?
答案 0 :(得分:1)
您可以将除了http(index.php,css,图像等)所需的文件之外的所有文件从DocumentRoot目录移到上一级,因此目录布局如下所示:
/lib
/files
/html
/index.php
/css/
/images/
其中/ html是您的DocumentRoot。
在这种情况下,您不需要.htaccess或VirtualHost配置中的任何其他限制性规则/
答案 1 :(得分:-1)
htaccess可能不是阻止直接访问某些Php文件的最佳选择。相反,创建一个访问值并将其设置为您希望定向访问的页面中的某个值,否则不要将其设置在其他页面中。
$access = 'some value';
if(empty($access)) { header("location:index.php"); die();}
这样其他php文件只能通过include或require访问。希望有所帮助。