1
我正在瀏覽幾個文件,但由於某種原因,我無法將我的頭圍繞我所要做的配置所需的配置。基本上,我想:Nginx配置
所有目錄請求應該保持自己的網址,但通過的index.php處理
所有的.js,的CSS,.JPEG並在其各自的目錄.png文件(/ JS /,/ css /和/ images /)應該在沒有php處理的情況下提供。
所有其他文件訪問應該被拒絕(包括所有.php)。
我試過爲.php處理設置位置,但我永遠不知道如何讓它正常工作。我會繼續保持它,但也希望有一些快速的幫助,以及:)
謝謝!
編輯2:我想我想出了一些體面的。它可能不完美,但它應該工作。
server {
listen 80;
server_name _;
server_tokens off;
root /mypath/www;
access_log /mypath/access.log;
error_log /mypath/error.log;
index index.html;
location ^~ /app {
return 404;
}
location ~ \.conf {
return 404;
}
location ~ \.php {
return 404 ;
}
location ~ /images/.*.(jpg|jpeg|png|gif) {
try_files $uri $uri = 404;
expires max;
}
location ~ /css/.*.css {
try_files $uri $uri = 404;
expires 1d;
}
location ~ /js/.*.js {
try_files $uri $uri = 404;
expires 1d;
}
location/{
try_files $uri @PHPProxy;
error_page 500 501 502 503 504 505 $document_root/error.html;
}
location @PHPProxy {
include fastcgi_params;
fastcgi_pass unix:/tmp/php.socket;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
}
這看起來類似於我正在做的事情,但更深思熟慮。明天我會拍這張照片。謝謝! – Kris 2012-03-05 03:44:49
您應該使用「try_files」指令而不是「重寫」。國際海事組織它只是爲你正在尋找的東西:) http://wiki.nginx.org/HttpCoreModule – conradkdotcom 2012-03-05 19:08:43
@conradk我以前在網站上使用過try_files,但我不確定那是他在找什麼。他希望除指定文件夾以外的任何文件都被拒絕,並且try_files不斷讓它們通過。我猜想,當你有'try_files $ uri/index.php $ uri'之類的東西時,它會在內部重寫(或類似的東西)。現在,如果我可以結合只允許某些文件夾並嘗試/index.php上的所有其他文件,那將非常棒。 – Nenoco 2012-03-06 01:04:10