Как я могу заменить параметр подкаталогом - PullRequest
0 голосов
/ 05 марта 2019

В настоящее время у меня есть поисковая страница, как показано ниже

mywebsite.com/search.html?query=cat

Итак, я извлекаю запрос из параметра url, поскольку вы можете видеть, что запрос на данный момент 'cat'.
По некоторым причинам, это не очень хорошая практика, поэтому я хочу заменить вышеприведенный формат следующим форматом:

mywebsite.com/search/cat

Есть ли способ достичь такого результата без фактического изменения текущих файлов? Прямо сейчас я размещаю сайт с nginx на ubuntu сервере. Любое предложение очень ценится.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 05 марта 2019

Вы можете просто сделать следующее переписывание в вашей конфигурации NGINX (в блоке server {...}):

rewrite ^/search/(.*)$ /search.html?query=$1 last;
0 голосов
/ 05 марта 2019

Есть тысячи примеров для этого в SO.

Тем не менее вот предложение:

RewriteEngine on 

RewriteRule ^/?search/(.+)/?$ /search.html?query=cat [END,QSA]

RewriteCond ${QUERY_STRING} (^|&)query=(.*)(&|$)
RewriteRule ^/?search\.html$ /search/%1 [R=301]
...