Nginx重写规则:检查不存在的文件和文件夹

时间:2009-11-03 23:17:38

标签: php nginx rewrite rule

我正在尝试设置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代码吗? 或者纯粹是重写好吗?

1 个答案:

答案 0 :(得分:0)

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