URL с перезаписью переменных

#php #regex #.htaccess #mod-rewrite

#php #регулярное выражение #.htaccess #мод-переписать

Вопрос:

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

Я использую некоторые URL-адреса, подобные этому: /en/22-products/ (URL-адрес продолжается, но я не хочу менять остальное)

Я хотел бы изменить их следующим образом: /en/catalog/22-products/

Теперь я получил это в своем .htaccess: RewriteRule ^en/([0-9] )-products/?$ /en/catalog/$1-products/ [R,L]

Но это не сработает. Где я не прав?

Комментарии:

1. Есть ли у вас дополнительные правила в вашем root .htaccess?

2. Да, я получил базовый Joomla SEF .htaccess. Я поместил эту перезапись перед ними.

Ответ №1:

Вы были недалеко. Нам также нужно подобрать конечную часть URL. Сделайте это следующим образом:

 RewriteEngine On
RewriteRule ^en/([0-9] -products)(.*) /en/catalog/$1$2  [L,R]
  

Комментарии:

1. Работает как шарм. Спасибо! Тем временем я написал jQuery на основе pageID, который считывает язык и правильно изменяет URL, но это решение, я думаю, намного лучше.