Как правильно записать RewriteRule в файле .htaccess, чтобы он функционировал корректно?

  • 12 сентября 2023 г. 4:26
Ответы на вопрос 2
Для того чтобы RewriteRule работал на адресе site.ru/razdel/kupim-chistye-othody_3.html, можно использовать следующую запись в файле .htaccess:

RewriteEngine On
RewriteRule ^razdel/kupim-chistye-othody_([\d]+)\.html$ index.php?id=$1 [L]

В этой записи мы указали конкретный путь "razdel/kupim-chistye-othody_([\d]+)\.html", где ([\d]+) означает, что после знака "_" должны идти цифры.

Теперь при обращении к адресу site.ru/razdel/kupim-chistye-othody_3.html, запрос будет перенаправлен на index.php с параметром id=3.
^[a-zA-Z\-_]+_([\d]+)+\.html можно перефразировать так:

- Шаблон ^[a-zA-Z\-_]+ обозначает, что адрес должен начинаться с одной или более букв (в верхнем или нижнем регистре), тире или подчеркивания.
- [a-zA-Z\-_]+ обозначает, что после начальной части могут идти одна или более букв, тире или подчеркивания.
- (_([\d]+)+) обозначает, что должен быть найден символ "_", за которым идет одна или более цифр.
- \.html указывает, что после цифр должен быть точно такой же текст ".html". 

Таким образом, данное правило RewriteRule перенаправляет адреса с определенной структурой на страницу index.php с параметром id равным найденным цифрам.
Похожие вопросы