为子目录配置.htaccess

时间:2012-11-03 21:04:28

标签: .htaccess

您好我对.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 都能正常工作。

任何人都可以帮我吗?

2 个答案:

答案 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访问。希望有所帮助。