Как использовать .htaccess mod_rewrite для создания SEO дружественного URL - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь создать оптимизированный для SEO URL-адрес с помощью файла .htaccess.

URL-адрес, который я пытаюсь изменить, выглядит следующим образом:

https://www.example.com/category/?title=a+really+really+long+title

и то, что я хотел бы иметь:

https://www.example.com/category/a+really+really+long+title/

Я пытался:

RewriteEngine On RewriteRule ^/category/?title=(.+)$ ^/category/$1/ [NC]

но это не дает мнежелаемые результаты.Любая помощь будет наиболее ценится!

1 Ответ

0 голосов
/ 18 февраля 2019
RewriteEngine On
RewriteCond %{QUERY_STRING} ^title\=(.+)$ [NC]
RewriteRule ^/?category/?$ /category/%1 [NC,R,L,QSD]
  • Сначала мы проверим, присутствует ли строка запроса, используя RewriteCond.Если оно совпадает с ^title\=(.+)$, то есть, если есть строка запроса с ключом title, запишите ее значение.

  • Используя RewriteRule, мы сопоставляем, если URI запроса имеет category.Если да, то переписать его как /category/%1, где %1 - это значение ключа title, соответствующего условию перезаписи для строки запроса.%1 - это обратная ссылка (прокрутить вниз) к захваченному номеру группы в регулярном выражении (в строке запроса).

  • Примечаниечто если вы хотите сделать это для любой пары ключ-значение в строке запроса, то измените title на \w+ или [a-zA-Z0-9]+, чтобы быть более точным.

...