.htaccess限制访问目录无法正常工作

时间:2017-08-30 15:01:48

标签: .htaccess

我正在尝试根据php脚本的结果限制对目录的访问。我在文件所在的.htaccess文件夹中有以下内容:

RewriteCond %{REQUEST_URI} !=league_access.php
RewriteRule .* league_access.php

我也尝试过:

RewriteEngine on
RewriteRule .* league_access.php

如果你转到目录http://www.bowling-tracker.com/bowl/league_documents/1/,你会注意到它正在触发league_access.php脚本(因为它目前只键入“运行测试脚本” 限制访问“页面。

这样做是正确的。

http://www.bowling-tracker.com/bowl/league_documents/1/test.html您将看到您被授予访问该页面的权限(而不是它将转到league_access.php脚本)。

此网站位于FastComet(公共托管公司),因此除了.htaccess文件外,我无法更改服务器设置或文件。

任何帮助解决这个问题将不胜感激。 感谢....

1 个答案:

答案 0 :(得分:0)

FastComet团队在这里!我们共享托管环境的一部分是利用NginX作为Apache Web服务的反向代理。此配置同时获得两种服务的优势,并确保项目的更好性能。 NginX正在处理所有静态内容请求,例如PDF文件或HTML页面。以下是NginX服务将处理的所有文件类型的列表:

3GP | GIF | JPG | JPEG | PNG | ICO | WMV | AVI | ASF | ASX | MPG | MPEG | MP4 | PLS | MP3 |中间| WAV |瑞士法郎| FLV | HTML | HTM | JS | CSS | EXE |拉链|焦油| RAR | GZ | TGZ | BZ2 | UHA | 7Z | DOC |的docx | XLS | XLSX | PDF |异

但是,如果请求是针对动态内容(例如PHP脚本),则会将其从NginX传递到Apache服务。您正在网站的.htaccess文件中正确设置相关规则,但此文件仅由Apache服务读取,而不是NginX。换句话说,如果有静态内容请求,例如PDF文件:

  

http://www.bowling-tracker.com/bowl/league_documents/1/Rules_Thurs_Night_Mixed.pdf

或HTML页面:

  

http://www.bowling-tracker.com/bowl/league_documents/1/test.html

它将由NginX处理,而不考虑您设置的.htaccess规则。通过排除您的域甚至整个主机帐户的HTML,HTM和PDF类型文件的处理,有一种简单的方法可以解决这个问题。这样,这些请求将由Apache Web服务器处理,而不是NginX。在这种情况下,系统会考虑您应用的.htaccess规则,它们可以正常运行。