Скажем, я хочу закодировать заголовок статьи в URL-адресе и содержать косую черту. Если я кодирую URL-адрес заголовка статьи, я получаю:
http://example.com/articles/foo%2fbar/view/
NGINX передает это приложение моему FastCGI как:
http://example.com/articles/foo/bar/view/
Который скорее разрушает идею.
Я замечаю, что если NGINX обслуживает файл, скажем /path/to/page.html, то он может быть достигнут одним из следующих двух URL-адресов:
http://example.com/path/to/page.html
http://example.com/path/to%2fpage.html
Однако это не относится к (например) Apache.
Есть ли способ исправить это поведение?
Я пробовал документы и Google без везения.
Спасибо.
UPDATE
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;
}
}
}