2015-12-01 95 views
1

每一個答案,或者教程的nginx的配置上Laravel有類似的東西:Nginx的配置爲拒絕訪問私人Laravel文件夾

location ~ \.php { 
    # fastcgi stuff ... 
} 

如果Laravel框架有一個唯一的入口點(公共index.php),止跌」這個定義更準確嗎?

location ~ index\.php { 
    # fastcgi stuff ... 
} 

在你有你的應用程序部署在一個子文件夾,它允許在每一個PHP的私人文件的訪問的第一配置的情況下,即使我已經定義過的私人文件夾deny all規則。

我錯了什麼?

還有另一種方法來定義一個文件夾完全拒絕訪問?

回答

1

如果你想否認你的私人文件夾訪問文件(例如/private)添加到您的配置虛擬主機:

區分大小寫

location ~ ^/private/(.*)\.php$ { 
    deny all; 
} 

不區分大小寫:

location ~* ^/private/(.*)\.php$ { 
    deny all; 
} 

這將返回403到/private/something.php/private/something/something.php等的所有請求。但要求/private/something將工作。

+0

太好了。所以,這是一個完美的組合:folder'location/private/{deny all; }'和php文件'location〜* ^/private /(。*)\。php $ {deny all; }' – daVe