Изменить адрес ссылки

всем привет есть ссылка, к примеру www.site.ru/actor1/actor2/actor3нужно изменить ссылку на www.site.ru/actor1/actor2перенаправление не подходит. Сказали надо в коде прописывать. кто знает, спасибо заранее
12 ответов

перенаправление не подходит.
интересно, почему? И что Вы тогда предлагаете сделать? Если только
Сказали надо в коде прописывать.
по-любому это сказал К.О.


интересно, почему? И что Вы тогда предлагаете сделать? Если только по-любому это сказал К.О.
Мужик, если у тебя отличное настроение с утра, я за тебя безумно рад Если не знаешь как делать кроме перенаправления, проходи мимо Если бы можно было сделать перенаправлением, я бы сюда не зашел


Я просто хочу понять, что вы хотите от нас, если нельзя делать перенаправление - однако в итоге должно быть перенаправление. Тафтология, интересно.


Сказали надо в коде прописывать.
Это не ответ на mail.ru?


Это не ответ на mail.ru?
Сегодня слет юмористов?)Постараюсь рассказать более подробно.Есть урл www.site.ru/actor1/actor2 - это верхнее меню, хлебные крошки Есть нижнее меню www.site.ru/actor1/actor2/actor3так вот actor3 и actor2 это одна и та же страница, дубль. Удалить actor3 нельзя, actor2 будет пустой. Для чего так сделано, непонятно. Это структура мешает продвижению (сеошники дали задачу). Если с одной я справился, то с этой сижу почти неделю. Если я неправильно понял, и тут действительно надо использовать перенаправление, то ок Но злые сео, требуют удаления actor3 )Надеюсь понятно обьяснил)


Надеюсь понятно обьяснил)
теперь лучше. Для этого используют 301 редирект (перенаправление) -- Moved Permanently - перемещено навсегда. Можно сделать это на уровне php, но обычно это делают на стороне апача. Создать файл .htaccess (если его нет еще) в корне сайта, и в нем прописать
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^actor1/actor2/actor3/?$ /actor1/actor2/ [R=301,L]
Если у вас уже есть .htaccess и первые три строчки в нем прописано, вставляете, соответственно, только последнюю нижеесли уж совсем различные - то регулярку такого вида:
RewriteRule ^([^/]+)/([^/]+)/.+$ /$1/$2/ [R=301,L]
если я правильно понял что требуется..


Кароль спасибо, Но сама ссылка то имеет вид www.site.ru/actor1/actor2/actor3 в любом случае. Делали бы перенаправление или нет


сама ссылка то имеет вид www.site.ru/actor1/actor2/actor3 в любом случае
ну и пусть, при заходе по ней будет быстрый редирект на www.site.ru/actor1/actor2/ как это выглядит - можете посмотреть здесь же на форуме, в любом разделе удалите последний закрывающий слэш К примеру, здесь http://www.cyberforum.ru/php-beginners


Да здраствует Король!след вопрос) Вопрос такой ссылки www.site.ru/actor1/actor2/actor3 их многоя делаю перенаправление
RewriteRule ^/actor1/actor2/actor3$ /actor1/actor2[R=301,L]
RewriteRule ^/actor1/actor4/actor3$ /actor1/actor4[R=301,L]
RewriteRule ^/actor1/actor5/actor3$ /actor1/actor5[R=301,L]
RewriteRule ^/actor1/actor6/actor3$ /actor1/actor6[R=301,L]
как мне их загнать под одно регулярное выражение? цикл чтоли
RewriteRule ^/actor1/(.*)/actor3$ /actor1/actor2/$1/
разобрался


Лучше уточнить, "все до слэша":
RewriteRule ^/actor1/([^/]+)/actor3/?$ /actor1/actor2/$1/
иначе, при заходе на любой адрес где в начале есть actor1, а в конце actor3 будет перенаправляться => циклическая переадресация Простой пример: перейти по адресу site.ru/actor1/actor11/actor12/actor13/actor14/actor15/actor3/, по идее должен "пройти" под регулярку А тем более, если меняется только цифра, то имеет смысл сделать вообще так:
RewriteRule ^/actor1/actor([0-9]+)/actor3/?$ /actor1/actor2/actor$1/


Король меня выручает сегодня Теперь вопрос в том, чтобы сделать то же самое, только в кодеесть вот такой цикл
 if("cms_" . $shablone . "_item" == "cms_leftmenu_item" &&  $node->data['fpath'] == 'ru/models/passenger/../review/') {
                   $node->data['fpath'] = 'ru/models/passenger/../';
                   //var_dump($node->data);
                }
смысл в том, что если у нас левое меню, то добавляется ссылка в меню. здесь этого нет это ниже. но это не главное главнео в том что если у нас есть урлы вида ru/models/passenger/actor1/review/ ru/models/passenger/actor2/review/ ru/models/passenger/actor3/review/заменяем на ru/models/passenger/actor1/ ru/models/passenger/actor2/ ru/models/passenger/actor3/ что я не так делаю?


все должно быть так. Если только эти значения сохраняются в массиве, смотря что за цикл