@ssrdop

Как написать регулярное выражение?

В .htaccess прописано следующее
RewriteRule ^([^/]+)$	catalog.php?katalog_url=$1 [L,QSA]


То есть все что после слеша идет в переменную katalog_url

Как правильно написать правило, чтобы в регулярку попадали только строки, например, yabloko-svezhee-1 или ogurec15-zelen

То есть попадают только цифры, буквы и знак тире, а остальное например, contacts.php работают как обычно.

И посоветуйте, пожалуйста, хорошую книгу по регуляркам.
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
shambler81
@shambler81 Куратор тега htaccess
?katalog_url - гет запрос и не является частью урла.
Ваз вопрос должен звучать так.
Как сделать редирект с гет запросом?

Теперь подробней если с гет запроса на урл то вот
RewriteCond %{QUERY_STRING} (^|&)katalog_url\=\$1($|&)
RewriteRule ^.*$ /новыйурл$1 [L,R=301]

А вот если нужно сделать НА урл с гет запросом то тут еще более топорно
catalog.php?katalog_url=$1 - ваш вариант
catalog.php\?katalog_url=$1 - рабочий вариант ;)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы