我在 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;
。