custom_rewrite.php не работает правило

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

Не работет перенаправление на страницу

#1 18 сентября 2013 в 19:10
Для сайта superzagar.ru написал правило перенаправления, но почему то по непонятным причинам оно не работает. Подскажите что я не так делаю
  1.  
  2. $rules[] = array(
  3. 'source' => '/^index.php\/component\/jshopping\/apparatnaja-kosmetologijasoljarii$/i',
  4. 'target' => '/shop/apparatnaja-kosmetologija',
  5. 'action' => 'redirect-301'
  6. );
  7.  
#2 18 сентября 2013 в 20:53
Из-за index.php
#3 19 сентября 2013 в 14:09


Из-за index.php

lokanaft
в том числе стоит правило:
  1. $rules[] = array(
  2. 'source' => '/^component\/jshopping\/apparatnaja-kosmetologijasoljarii$/i',
  3. 'target' => '/shop/apparatnaja-kosmetologija',
  4. 'action' => 'redirect-301'
  5. );
#4 19 сентября 2013 в 15:25
.htaccess redirect 301 может?
Redirect 301 /old-page.html new-domain.ru/new-page.html
или
Redirect 301 /old-page.html /new-page.html
или
Redirect 301 /apparatnaja-kosmetologijasoljarii /shop/apparatnaja-kosmetologija
#5 19 сентября 2013 в 17:11
А чего не работает то? Всё отлично работает у вас на сайте. Вбиваем в адрес /component/jshopping/apparatnaja-kosmetologijasoljarii (не понял правда, зачем такой ури источника вообще нужен), получаем переход на ури цели /shop/apparatnaja-kosmetologija.
Есть подозрение, что работает не так, как нужно. Попытайтесь понять сами, как нужно и объяснить нам. В данном случае(с вашим правилом) мы получаем редирект с ури источника /component/jshopping/apparatnaja-kosmetologijasoljarii на ури цели /shop/apparatnaja-kosmetologija — и это работает.
#6 19 сентября 2013 в 19:45
вот отсюда www.superzagar.ru/index.php/component/jshopping/apparatnaja-kosmetologijasoljarii
нужно сюда www.superzagar.ru/shop/apparatnaja-kosmetologija

я бы забил, но эти ссылки уже размещены на разных сайтах
через .htaccess не хочется, несмотря на то, что опыт 301 редиректа уже есть этим способом. Хочу чтобы всё было в одном месте.

и мне непонятно как эта ссылка вообще работает, по моему разумению она не должна работать.

custom_rewrite.php
#7 19 сентября 2013 в 20:19

вот отсюда www.superzagar.ru/index.php/component/jshopping/apparatnaja-kosmetologijasoljarii

shaman888
Тогда не убирайте index.php из источника. То есть оставьте так, как есть в вашем 1 посте. Это правило должно работать. Проверьте ещё раз.
Теперь понятно. Сайт ранее был на другом движке?
#8 19 сентября 2013 в 20:32
да ранее был на joomla 1.5.
У меня оба правила загружены. Я даже сейчас, удалил второе и оставил только первое. Результат тот же.
#9 19 сентября 2013 в 21:21
Да, правило не работает именно из-за index.php. Предполагаю, что это происходит из-за опции MultiViews. Там же по ссылке приведена возможность отключения опции в htaccess. Если не работает, можно попробовать изменить в конфиге апача.
МультиВиевс у себя на сервере отключал, сработало. Как то появилась такая необходимость. На Денвере не рабоатает почему-то. Не могу потестировать. Некогда разбираться.
Попробуйте вышесказанное. Может быть поможет )
#10 20 сентября 2013 в 23:52
что делает этот участок кода?
  1. RewriteRule ^(.*)$ /index.php [L]
как бы там ни было, .htaccess сработал. Топорно конечно, ну раз уж других вариантов нет...
  1. Redirect 301 /index.php/component/jshopping/apparatnaja-kosmetologijasoljarii /shop/apparatnaja-kosmetologija
#11 21 сентября 2013 в 00:24

что делает этот участок кода?

shaman888
Заворачивает абсолютно все на /index.php
#12 21 сентября 2013 в 09:18
благодарю всех за помощь
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.