Как заменить первый параметр в строке запроса? - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь изменить этот запрос "https://myurl.com/puff/?search_keyword=xyz" на этот" https://myurl.com/puff/?s=xyz".

Я видел ответ, подобный этому, но я раньше не использовал регулярные выражения и имелвопросы подгонки под то что мне нужно.Я использую WordPress и редактирую файл .htaccess, чтобы добиться этого.

Я изучил Как заменить имя первого параметра в строке запроса, используя .htaccess? и попытался использовать это длянастроить свой собственный .htaccess, но у меня были проблемы с его реализацией самостоятельно.

Вот так выглядит мой текущий файл .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /puffadvisor/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /puffadvisor/index.php [L]x
</IfModule>

# END WordPress

Вся помощь очень ценится :) спасибо вам большоемного.

1 Ответ

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

Вам необходимо условие на основе %QUERY_STRING, а затем ссылки на группы захвата с префиксом %

RewriteEngine On
RewriteCond %{QUERY_STRING} (.*(?:^|&))seach_keyword((?:$|=|&).*)
RewriteRule /puff /puff?%1s%2

Этот {DOCUMENT_ROOT}/.htaccess заменяет имя параметра search_keyword на s в /puff местоположении, независимо от того, в каком положении находится параметр.

Возможно, вы захотите переписать все пути

RewriteRule .* $0?%1s%2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...