2017-08-30 110 views
1

我試圖根據php腳本的結果限制對目錄的訪問。.htaccess限制訪問目錄無法正常工作

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

我也曾嘗試:我在我的.htaccess文件夾中的文件位於以下

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文件之外的服務器設置或文件。

任何幫助解決這個將不勝感激。 謝謝....

回答

0

FastComet Team here!我們的部分共享主機環境正在使用NginX作爲Apache Web服務的反向代理。此配置可同時獲得兩種服務的優勢,並確保項目的更好性能。 NginX正在處理對靜態內容的所有請求,例如PDF文件或HTML頁面。以下是NginX服務將處理的所有文件類型列表:

3gp | gif | jpg | jpeg | png | ico | wmv | avi | asf | asx | mpg | mpeg | mp4 | pls | mp3 |中| wav | swf | flv | html | htm | js | css | exe | zip | tar | rar | gz | doc | docx | xls | xlsx | pdf | iso

但是,如果請求是針對動態內容的,比如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規則將被系統考慮在內,並且它們將毫無問題地工作。

+0

我將如何「排除在域上處理PDF文件類型」? – chasiv

+0

爲了您的方便,我們的技術支持團隊已經爲您的bowling-tracker.com域名排除了NginX服務處理HTML,HTM和PDF類型的情況。這樣,它們直接傳遞給Apache,並且您在.htaccess中設置的規則將被正確應用。如果您希望我們排除其他文件類型,或將相同的更改應用到您的主機帳戶上的其他域名,您可以簡單地向我們的技術支持團隊提交一張票,我們很樂意爲您提供幫助。 – FastComet