在 nginx 中配置 URL 重写

在 nginx 中配置 URL 重写

我正在尝试为我的 MVC 框架设置 URL 重写,但由于这是我第一次使用 Nginx,所以遇到了一些麻烦。

我的应用程序有 2 个访问点:

  • /index.php
  • /admin/index.php

我需要将这些文件夹/访问点的 URL 路由到相应的索引文件,例如:

  • /admin/auth/login/>>>/admin/index.php?/auth/login/
  • /contact/>>>/index.php?/contact/

这是我目前所拥有的:

#Project
server {
listen 7000;
listen localhost:7000;

    location / {
        root   /srv/www/htdocs/ASDDL/;
        index index.php;
    }

    location /admin/ {
        root   /srv/www/htdocs/ASDDL/admin/;
        index index.php;
    }

    location ~ \.php$ {
        fastcgi_index    index.php;
        fastcgi_param  SCRIPT_FILENAME /srv/www/htdocs/ASDDL/$fastcgi_script_name;
        fastcgi_pass   127.0.0.1:9000;
        include fastcgi_params;
    }
}

现在,正如您所看到的,我认为问题出在下面这一行:

fastcgi_param  SCRIPT_FILENAME /srv/www/htdocs/ASDDL/$fastcgi_script_name;

由于它尝试路由到根文件,因此它没有路由到管理文件夹index.php,有人可以解释一下正确的方法吗?

相关内容