Nginx 托管,路径附加到 index.php

Nginx 托管,路径附加到 index.php

我在 Concrete5 上托管一个实例,除了使用动态路径之外,他们还使用奇怪形式的 URL www.mysite.com/index.php/path/to/page

我已经基本让它工作了,但是在让 Nginx 为 提供请求服务时遇到了问题www.mysite.com/,因为它列出了目录而不是显示index.php

  • www.mysite.com/ -> 列出public目录,但应显示 index.php
  • www.mysite.com/index.php/path/to/page->有效!
  • www.mysite.com/some/other/path->有效!

这是我的 Nginx 配置文件:

server {

    root /srv/www/mysite.com/public_html;
    server_name mysite.com

    location / {
        try_files $uri $uri/ /index.php/$request_uri;
        autoindex on; # just for debugging...
    }

    location ~ \.php($|/) {
        set $script $uri;
        if ($uri ~ "^(.+\.php)(/.+)") {
            set $script $1;
        }
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$script;
        fastcgi_intercept_errors on;
        fastcgi_pass  unix:/var/run/php5-fpm.sock;
    }

}

答案1

您的配置缺失index index.php;

相关内容