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 conf 檔案:

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;

相關內容