За последние 24 часа нас посетили 16188 программистов и 1586 роботов. Сейчас ищут 1360 программистов ...

Редирект на главную при отсутствии страницы

Тема в разделе "PHP для профи", создана пользователем Razorfen, 26 ноя 2018.

Метки:
  1. Razorfen

    Razorfen Активный пользователь

    С нами с:
    2 авг 2016
    Сообщения:
    40
    Симпатии:
    0
    Привет!
    Имеем 2 одинаковых по структуре сайта:
    1. сайт с русскоязычным контентом;
    2. такой же сайт с англоязычным контентом.
    В шапке сайтов есть ссылки на страницы друг друга. Поясняю. Находимся на странице site1.ru/info. Жмем по ссылке "Перейти на англоязычный сайт" и попадаем на site2.com/info. Страницы с таким же адресом на другом сайте может не существовать. В таком случае как настроить редирект на главную при отсутствии страницы с таким же адресом?
    Реализована многосайтовость на разных доменах (2 сайта ru и en). Структура сайтов одинакова. Использован компонент bitrix:main.site.selector.
    result_modifier.php содержит код:
    Код (Text):
    1. $arResult["CUR_DIR"] = $APPLICATION->GetCurPage()
    Таким образом, получаем текущую директорию (на ru) и добавляем ее в шаблон, чтобы формировалась ссылка для перехода на другой домен (на en) на эту же страницу.
     
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    $_SERVER['HTTP_REFERER'] и лови в 404 или можно добавить get параметр. Но пс явно не оценят.
    Если база одна ты еще до вывода можешь узнать есть статья или нет. Или продумай свой алгоритм
     
    Razorfen нравится это.
  3. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    404 в продакшн? право, моветон... в 404.пхп нужен код не для переадресации на главную, а для поиска причин ошибок.. типа реферер, или в гёте передовать чёто
     
  4. Razorfen

    Razorfen Активный пользователь

    С нами с:
    2 авг 2016
    Сообщения:
    40
    Симпатии:
    0
    Можете пример привести?
     
  5. abrdabr

    abrdabr Новичок

    С нами с:
    28 янв 2017
    Сообщения:
    774
    Симпатии:
    65
    @Razorfen ну, реферер это магическая константа пыха, содержит урл страницы откуда пришёл юзер, что даст нам имя скрипта который посылает юзера на 404, но скрипт может выдавать различное содержимое, для этого и нужен гет.
    вобщем то порядок отладки универсален, пример многострочен...

    в крайнем случае порекомендовал бы в хатеске 404м индекс.пхп указать с сообщением об ошибке
     
  6. Poznakomlus

    Poznakomlus Активный пользователь

    С нами с:
    12 сен 2014
    Сообщения:
    96
    Симпатии:
    19
    Адрес:
    Киев
    При отсутствии страницы должна отобразится страница 404 ошибки с ответом 404, далее (не обязательно) вы можете делать редирект на главную по истечению времени с помощью html или js
    Наличие страницы 404 обязательно для хорошего ресурса
     
  7. Bastonc

    Bastonc Новичок

    С нами с:
    27 ноя 2018
    Сообщения:
    12
    Симпатии:
    1
    Может, конечно поздно. Но переадресовывать 404-е - очень плохой почерк Вашего сайта для SEO. Это я Вам как SEOшник говорю. Чревато потерей контроля над ошибками сайта для Вашего специалиста (софт для анализа не будет видеть 404-х, за-то будет много редиректов- пойди разберитесь какие из них нужные, какие исправляют "ошибку") и увеличением редиректов, что уже плохо для поисковиков. И тем плачевнее ситуация, чем больше сайт. Так, что такие штуки нужно делать очень аккуратно
     
    #7 Bastonc, 11 дек 2018
    Последнее редактирование: 11 дек 2018
    SeApps нравится это.