Я пытаюсь изменить мою конфигурацию NGINX, чтобы убрать расширение .html из URI, прежде чем они будут переданы в мою CMS на основе PHP.
Другими словами, когда посетитель вводит:
http://www.example.com/foo.html
Я хочу изменить URI на /;
http://www.example.com/foo
Без фактического перенаправления браузера.Это достаточно легко сделать в Apache, но я не могу разобраться с NGINX.Вот то, что у меня есть в моем конфигурационном файле, который, кажется, не работает.
location ~ \.html {
rewrite ^(/.*)\.html(\?.*)?$ $1$2 last;
}
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
Используя этот код, REQUEST_URI, который получает PHP, по-прежнему /foo.html.