Angenommen, ich möchte einen Artikeltitel in einer URL kodieren, die einen Schrägstrich enthält. Wenn ich den Artikeltitel in der URL kodiere, erhalte ich:
http://example.com/articles/foo%2fbar/view/
NGINX übergibt dies an meine FastCGI-Anwendung als:
http://example.com/articles/foo/bar/view/
Das macht die Idee ziemlich zunichte.
Ich stelle fest, dass NGINX eine Datei, z. B. /path/to/page.html, über eine der beiden folgenden URLs erreicht werden kann:
http://example.com/path/to/page.html
http://example.com/path/to%2fpage.html
Dies gilt jedoch nicht für (beispielsweise) den Apache.
Gibt es eine Möglichkeit, dieses Verhalten zu beheben?
Ich habe die Dokumente und Google ausprobiert, ohne Erfolg.
Danke.
UPDATE
nginx-Konfiguration:
worker_processes 1;
pid ./nginx.pid;
events {
worker_connections 1024;
}
http {
server_tokens off;
server {
listen 80;
server_name localhost;
location /mysite/{
fastcgi_pass unix: ./mysite.fcgi.socket;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param SCRIPT_NAME "/mysite/";
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
}
}