@Lici

Проблема с 301 редиректом?

Есть старый сайт, который был перенесен на SimplaCMS. Изменилась структура URL и нужно сделать редирект со старых страниц на новые.


Файл хтаццес имеет такой вид: (редиректы в конце самом)

AddDefaultCharset UTF-8

ErrorDocument 404 /404

ErrorDocument 401 /password.php

RewriteEngine on


# Админка теперь по адресу /simpla

RewriteRule ^admin/?$ simpla [L]


# Каталог товаров

RewriteRule ^catalog/([^/]+)/?$ index.php?module=ProductsView&category=$1 [L,QSA]

RewriteRule ^catalog/([^/]+)/([^/]+)/?$ index.php?module=ProductsView&category=$1&brand=$2 [L,QSA]


RewriteRule ^products/([^/]+)/?$ index.php?module=ProductView&product_url=$1 [L,QSA]

RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA]


RewriteRule ^brands/([^/]+)/?$ index.php?module=ProductsView&brand=$1 [L,QSA]

RewriteRule ^brands/([^/]+)/page_([^/]+)/?$ index.php?module=ProductsView&brand=$1&page=$2 [L,QSA]


# Поиск товаров

RewriteRule ^search/([^/]+)/?$ index.php?module=ProductsView&keyword=$1 [L,QSA]

RewriteRule ^search/?$ index.php?module=ProductsView [L,QSA]


# Блог

RewriteRule ^blog/([^/]+)/?$ index.php?module=BlogView&url=$1 [L,QSA]

RewriteRule ^blog/?$ index.php?module=BlogView [L,QSA]


# Корзина и заказы

RewriteRule ^cart/?$ index.php?module=CartView [L,QSA]

RewriteRule ^cart/([^/]+)/?$ index.php?module=CartView&add_variant=$1 [L,QSA]

RewriteRule ^cart/remove/([^/]+)/?$ index.php?module=CartView&delete_variant=$1 [L,QSA]

RewriteRule ^order/([^/]+)/?$ index.php?module=OrderView&url=$1 [L,QSA]

RewriteRule ^order/?$ index.php?module=OrderView [L,QSA]


# Для пользователей

RewriteRule ^user/login/?$ index.php?module=LoginView [L,QSA]

RewriteRule ^user/register/?$ index.php?module=RegisterView [L,QSA]

RewriteRule ^user/logout/?$ index.php?module=LoginView&action=logout [L,QSA]

RewriteRule ^user/password_remind/?$ index.php?module=LoginView&action=password_remind [L,QSA]

RewriteRule ^user/password_remind/([0-9a-z]+)/?$ index.php?module=LoginView&action=password_remind&code=$1 [L,QSA]

RewriteRule ^user/?$ index.php?module=UserView [L,QSA]


# Google sitemap

RewriteRule ^sitemap.xml?$ sitemap.php [L,QSA]


# XML

RewriteRule ^yandex.xml?$ yandex.php [L,QSA]


# feedback

RewriteRule ^contact/?$ index.php?module=FeedbackView [L,QSA]


#downloads

RewriteRule ^order/([^/]+)/([^/]+)/?$ index.php?module=OrderView&url=$1&file=$2 [L,QSA]


# Статические страницы

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA]

RewriteRule ^/?$ index.php?module=MainView&page_url= [L,QSA]


# Ресайз картинок на лету

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING}

#RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*)

#RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE]


#перенос старых страниц
Redirect 301 /product_49.html www.site.ru/products/ololo1

Redirect 301 /product_94.html www.site.ru/products/nashlemnaja_lolo

Redirect 301 /product_174.html www.site.ru/products/lololo2

Redirect 301 /product_64.html www.site.ru/products/tovar

Redirect 301 /product_66.html www.site.ru/products/tovar2

Redirect 301 /product_173.html www.site.ru/products/tovar3



Однако при переходе по адресу /product_49.html мы попадаем на адресс products/ololo1?module=PageView&page_url=product_49.html


то же самое при использовании синтаксиса:


RewriteRule ^old_page.html$ /new_page [R=301,L]


В чем может быть дело? Как это исправить? Заранее спасибо.
  • Вопрос задан
  • 7701 просмотр
Решения вопроса 1
truekenny
@truekenny
У вас срабатывает правило # Статические страницы.
Поместите код #перенос старых страниц до него.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
LaFut
@LaFut
Дело в приоритетах. Как я понял ModRewrite, потом ProxyPass и только потом Redirect. Поэтому у меня перемещение redirect в любое место файла htaccess не помогает
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 18:27
200000 руб./за проект
26 апр. 2024, в 18:24
80000 руб./за проект
26 апр. 2024, в 18:00
500 руб./за проект