2012-11-03 110 views
0

你好我不太了解.htaccess配置,但我想限制访问我的web服务器上的php文件,我想只有index.php参数可访问。为子目录配置.htaccess

我的文件在子文件夹中,如: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工作正常。

任何人都可以帮助我吗?

回答

1

您可以将所有文件除非HTTP的访问需要的人(的index.php,CSS,图像等)从出来的DocumentRoot目录中上水平,所以目录布局如下:

/lib 
/files 
/html 
    /index.php 
    /css/ 
    /images/ 

其中/ html是您的DocumentRoot。

在这种情况下,你将不再需要在.htaccess或虚拟主机配置的任何附加的限制性规则/

-1

htaccess可能不是防止直接访问您的一些Php文件的最佳选择。相反,请创建一个访问值并将其设置为您希望访问的页面中的某个值,否则不要将其设置在其他页面中。

$access = 'some value'; 
if(empty($access)) { header("location:index.php"); die();} 

这样其他的php文件只能通过include或require访问。希望有所帮助。

+1

为什么你觉得这比的.htaccess一个更好的办法?这是更多的工作,它很容易出错,它只适用于PHP文件。 – alexis