Digamos que quiero codificar un título de artículo en una URL y que contiene una barra inclinada. Si el URL codificar el título del artículo me sale:NGINX unescapes% 2f a una barra diagonal. ¿Cómo puedo detenerlo?
http://example.com/articles/foo%2fbar/view/
Nginx pasa esto a mi aplicación FastCGI como:
http://example.com/articles/foo/bar/view/
Qué lugar arruina la idea.
noto que si nginx está sirviendo a un archivo, por ejemplo /path/to/page.html, a continuación, se puede llegar por cualquiera de las siguientes dos direcciones URL:
http://example.com/path/to/page.html
http://example.com/path/to%2fpage.html
Sin embargo, este no es el caso para (por ejemplo) Apache.
¿Hay alguna manera de solucionar este problema?
He intentado los documentos y Google sin suerte.
Gracias.
ACTUALIZACIÓN
nginx config:
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;
}
}
}
¿Cómo es tu config nginx como? – Amber
Ver también https://stackoverflow.com/a/37584637/873282 – koppor