2014-01-13 26 views
3

嘗試拒絕除index.pl以外的所有文件的訪問。首先我拒絕所有,之後允許訪問index.pl。下一個代碼正常工作。嘗試訪問目錄時htacess在索引文件上重定向

Order Allow,Deny 
Deny from all 
<Files "index.pl"> 
    Order Deny,Allow 
    Allow from all 
</Files> 

但添加.htaccess文件與此內容後,出現了以下問題: 當我嘗試訪問mysite.com/(無index.pl)服務器說,它是被禁止。

我試圖添加DirectoryIndex index.pl,代碼已經變得如此:

Order Allow,Deny 
Deny from all 
<Files "index.pl"> 
    Order Deny,Allow 
    Allow from all 
</Files> 

DirectoryIndex index.pl 

它並沒有幫助我。

我必須在文件中寫入限制除index.pl和網站之外的所有文件才能正常工作,而無需添加/index.pl進行鏈接?也許有另一種方法來做我想要的? 謝謝!

對不起,我的英語不是很好。

回答

1

使用mod_rewrite更精細的控制規則。請在DOCUMENT_ROOT/.htaccess文件中試試以下代碼:

RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(jpe?g|gif|bmp|png|tiff|css|js)$ [NC] 
RewriteRule ^(?!(index|search)\.pl).+$ - [F,NC] 
+1

hm :)謝謝!有用。現在搜索如何訪問.css和.js文件:)。順便說一句,有趣的MOD :)去閱讀更多關於它,並使鏈接更美麗:) TY –

+1

對於CSS/JS看到更新的代碼。 – anubhava

+1

謝謝!你的代碼有效!只是一瞬間。我只是將搜索功能添加到我的網站,它使用根目錄中的search.pl文件。我如何更新代碼以允許訪問此文件? –

2

試着改變你的<Files>塊到<FilesMatch>,使index.pl可選:

<FilesMatch "^(index.pl)?$"> 
    Order Deny,Allow 
    Allow from all 
</FilesMatch> 
+0

感謝您的回答!你的意思是隻把這個代碼放入.htaccess中?我只是嘗試過,它並沒有爲我工作。 –

+0

@SharikovVladislav不,將你的' index.pl「> ...'塊與上述,你仍然需要一切。 –

+0

我剛剛複製粘貼你的代碼,我刪除了我的.htaccess的內容,我粘貼了你的代碼。就這樣。它並沒有幫助我 –

相關問題