nginx leitet 302 statt umschreiben 200
Wenn ein Benutzer alle Anfragen .php Datei auf meinem webserver möchte ich seine Anfrage (z.B. bat er mysite.com/testfile.php) behandelt werden durch index.php
In index.php ich benutze $_SERVER['REQUEST_URI'] um zu sehen, welche Seite der Benutzer sehen möchte (z.B. /testfile.php), so die index.php können die Generierung der entsprechenden html-code. Beachten Sie, dass testfile.php braucht nicht zu existieren.
Mein problem ist, dass ich immer einen redirect 302 auf /wenn ich versuche, auf Anfrage testfile.php (als Ergebnis $_SERVER['REQUEST_URI'] ist /). Aber was ich will, ist eine 200 OK-für testfile.php und dass index.php erzeugt den entsprechenden html-code für diese.
Dies ist ein Ausschnitt aus meinem buggy nginx.conf:
server {
[...]
root /home/test;
# When I go to mysite.com redirect my to mysite.com/
location = / {
index index.php;
}
# For any php file request: let index.php handle the request
location ~ \.(php)$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /home/test/index.php;
}
}
Jemand kann mir helfen?
Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Dateien nicht existieren, können Sie dies tun:
können Sie auch schreiben Sie die Anfrage wie dieser:
in beiden Fällen sollten Sie in der Lage sein zu Lesen der original-Anfrage mit
PATH_INFO
oderREQUEST_URI
.Haben Sie einen Blick auf diese links für weitere Anregungen: http://drupal.org/node/110224, http://michaelshadle.com/2010/08/20/front-controller-patterns-and-nginx/, Zend Framework auf nginx