Мастера PHP, помогите, пожалуйста!

regta
На сайте с 15.04.2006
Offline
320
524

Здравствуйте

Помогите, плз, тугодуму.

Есть некоторый код:

<?php

if($_SERVER["REQUEST_URI"]=="/page/vasya/foto/odin/")

{

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://www.site.ru/page/vasya/foto/");

exit();

}

?>

В теории, как я понимаю, он должен работать.

Т.е. если кто-то попадает на

http://www.site.ru/page/vasya/foto/odin/

то 301-м редиректом перебрасывается на

http://www.site.ru/page/vasya/foto/

-------------------

Но, есть проблема. Кроме /vasya/, там еще /petya/, /serega13/, /_masha_vasha_/ и т.п. (список огромен и почти бесконечен)

Можно ли как-то адаптировать вышеприведенный код, чтобы для всех страниц вида

http://www.site.ru/page/......./foto/odin/

происходил автоматический 301-й редирект на

http://www.site.ru/page/......./foto/

Буду крайне признателен за ваши идеи. Спасибо!!!

Цитируйте, плиз, историю переписки в личке. Спасибо.
LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#1

if (preg_match('@/page/(.*?)/foto/odin/@smi',$_SERVER["REQUEST_URI"],$tmp))

{

header("HTTP/1.1 301 Moved Permanently");

header("Location: http://www.site.ru/page/".$tmp[1]."/foto/"); // редирект на другую страницу блога

exit();

}

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
S7
На сайте с 15.08.2010
Offline
79
#2


if (preg_match("~^/page/[^/]+/foto/odin/$~i", $_SERVER['REQUEST_URI'])) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

/* или "http://www.".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
* или "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
* в последнем www не нужно, но "зловред" может передать левый HTTP_HOST */

exit();
}
siv1987
На сайте с 02.04.2009
Offline
427
#3
http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

senks777, автор хочет изменить REQUEST_URI а вы отправляете его туда же.

M
На сайте с 04.12.2013
Offline
223
#4

Если "odin/" – уникальное окончание для данной группы страниц, можно проверять по нему и отбрасывать его при наличии.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий