@Dorofeevdima

Не работает формирование ЧПУ через .htaccess?

Есть сайт на wordpress с плагином wp-shop, который формирует системные страницы вида

mjstore.ru/products-page/?category=6&product_id=23

Сгенерил правило для rewrite вида

RewriteRule RewriteRule ^category-([^-]*)-product_id-([^-]*)\.html$ /products-page/?category=$1&product_id=$2 [L,QSA]

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^category-([^-]*)-product_id-([^-]*)\.html$ /products-page/?category=$1&product_id=$2 [L,QSA]
RewriteRule . /index.php [L]


Но почему-то оно не то, чтобы не отрабатывает, так еще и сайт перестает грузиться. Подскажите, где ошибка.
  • Вопрос задан
  • 631 просмотр
Пригласить эксперта
Ответы на вопрос 2
@ShamblerR
было
RewriteRule RewriteRule ^category-([^-]*)-product_id-([^-]*)\.html$ /products-page/?category=$1&product_id=$2 [L,QSA]

стало

RewriteEngine On
RewriteBase /
RewriteRule ^category-([^-]*)-product_id-([^-]*)\.html$ /products-page/?category=$1&product_id=$2 [L,QSA]

Но сдается мне что будут еще проблемы с гет запросами, да и сама регулярка странная,
Можно пару урлов для просмотра ?

Очень смущяет вот это
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

похоже на условие для чпу
которое срабатывает для
RewriteRule ^category-([^-]*)-product_id-([^-]*)\.html$ /products-page/?category=$1&product_id=$2 [L,QSA]

а не для
RewriteRule . /index.php [L]
Короче опусти свою строчку ниже
RewriteCond - если
RewriteCond - если
RewriteCond -если
RewriteRule -то
RewriteRule - следуюещее правило не связано с первыми кондами
Ответ написан
Комментировать
@Dorofeevdima Автор вопроса
Пример урла вот такой mjstore.ru/products-page/?category=6&product_id=23

Хотелось бы, чтобы он преобразовывался в такой вид:

mjstore.ru/products-page/page6

Для этого я сделал новую функцию:

RewriteRule ^products-page/page([^/]*)$ /products-page/?category=$1&product_id=23 [L] [QSA]

Я, если честно, то не понял какой именно должен быть порядок. Такой?

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteRule ^products-page/page([^/]*)$ /products-page/?category=$1&product_id=23 [L] [QSA]

Еще одно RewriteCond надо вставлять?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
04 мая 2024, в 17:35
150000 руб./за проект
04 мая 2024, в 17:22
1000 руб./за проект
04 мая 2024, в 17:09
30000 руб./за проект