2016-06-09 133 views
0

我是新來的堆棧溢出和.htaccess了,所以讓我們來看看。通過.htaccess訪問文件

我有一個文件lessons(.php)在我的根目錄下,我希望它看起來像是不存在通過的.htaccess

所以我使用這些指令來實現我的目標一個存在的話:

<Files lessons.php> 
    Order Deny,Allow 
    Deny from All 
</Files> 

我只知道我拒絕訪問我的目錄中的文件,僅此而已

我的第二個問題是,我想這個文件只能夠訪問的certa在條件,是指當有人試圖訪問該鏈接

RewriteRule ^library/lessons/([a-z-]+) lessons?lesson=$1 [NC,L] 

換句話說

library/lessons/ba-blah-blah-whatever/ 

所以,我怎麼能做到這一點,訪問文件就像一個的if/else條件,也就是說,如果有人是在那個鏈接提到那裏可以訪問該文件,我知道我不能使用if/else in .htaccess但你知道我想說什麼

+0

您可以對該文件進行重寫規則,重定向到404未找到或403被禁止。然後,遵循你的規則,並按照你的需要工作。不需要拒絕代碼 –

+1

誰在投票並投票結束這個問題?我認爲是一個新手的合法性問題。 –

+0

**謝謝!**您的評論真的幫助我。你是個好人。 –

回答

1

我很確定你不需要任何如此複雜的東西。只要寫與mod_rewrite的一個合適的路由:

RewriteRule ^library/lessons/([a-z-]+) lessons.php?lesson=$1 [NC,L] 

...如果你真的真的不能讓通過實際文件名的訪問,阻止訪問權從PHP過濾$_SERVER['REQUEST_URI'],並與404狀態碼中止。

+0

header()+ exit –

+0

**感謝您的支持。 –