2009-11-03 40 views
0

我试图建立nginx的重写规则如下:Nginx的重写规则:检查不存在的文件和文件夹

原来的结构:

domain.com/index.php?site=project

现在我尝试使用nginx的重写引擎来掩盖它:

if (-f $request_filename) { 
     break; 
     } 
     if (!-f $request_filename) { 
     rewrite ^/(.+)$ /index.php?site=$1 last; 
     break; 
     } 

如何禁止文件夹(东西以斜线结尾)和不存在的文件? 我读了很多关于

try_files

,但我无法得到它的工作。

此刻我有

try_files $uri $uri/ @app; 

location @app { 
rewrite ^/ /404.php last; 
} 

,但它不会工作。 我在做什么错?

另外: 我需要改变我的PHP代码吗? 或者是纯粹的重写罚款?

回答

0

您可以关闭autoindex以防止用户查看文件夹。我不知道'禁止不存在的文件'是什么意思。访问者只获得了404个。