Ich hoste eine Instanz auf Concrete5, und zusätzlich zur Verwendung dynamischer Pfade verwenden sie auch URLs in der seltsamen Form von www.mysite.com/index.php/path/to/page
.
Bei mir funktioniert es größtenteils, aber ich habe Probleme, Nginx dazu zu bringen, Anfragen an zu bedienen www.mysite.com/
, da es das Verzeichnis auflistet, anstatt es anzuzeigen index.php
.
- www.mysite.com/ -> listet das
public
Verzeichnis auf, sollte aber index.php anzeigen. - www.mysite.com/index.php/Pfad/zur/Seite -> funktioniert!
- www.mysite.com/some/other/path -> funktioniert!
Hier ist meine Nginx-Konfigurationsdatei:
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;
}
}
Antwort1
Ihre Konfiguration fehlt index index.php;
.