#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, но это решение, я думаю, намного лучше.