Переписывание Nginx: удаление .html из URL с аргументами

Переписывание Nginx: удаление .html из URL с аргументами

Как удалить .html из URL-адреса с аргументом?

например: http://www.domain.com/somepage.html?argument=whole&bunch=a-lot

к:

http://www.domain.com/somepage?argument=whole&bunch=a-lot

я пытался

    location / {
    index index.html index.php; 
            rewrite ^\.html(.*)$ $1 last;
            try_files $uri $uri/ @handler; 
            expires 30d; ## Assume all files are cachable
     }

и еще куча других предложений, но, похоже, не получается это реализовать...

Спасибо

решение1

Измените конфигурацию следующим образом:

# rewrite html extensions
rewrite ^(/.+)\.html$ $scheme://$host$1 permanent;

location / {
    index index.html index.php;
    # this way nginx first tries to serve the file as an .html although it doesn't have the extension
    try_files $uri.html $uri $uri/ @handler;
}

Конечно, вы можете добавить любые настройки кэша и т. д., но этого должно быть достаточно, чтобы удалить часть .html.

Связанный контент