За последние 24 часа нас посетил 16621 программист и 1592 робота. Сейчас ищут 1346 программистов ...

Вопрос про редирект 404

Тема в разделе "PHP для новичков", создана пользователем nikolay, 11 июн 2012.

Статус темы:
Закрыта.
  1. nikolay

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

    С нами с:
    5 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    Как грамотнее реализовать ?

    Допустим, пользователь запросил страницу http://www.site.ru/page.html, а её нет. Как лучше сделать:

    1. Прописать что-то типа "Location: /404.html" на page.html, а на 404.html отдать заголовок "HTTP/1.1 404 Not Found".

    2. Или же и на page.html перед Location, и на 404.html отправить заголовок "HTTP/1.1 404 Not Found"?

    Рассматривается вариант без htaccess.
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    без? не надо тогда редиректить. отдай заголовок 404 и содержимое подходящее с вероятными исправлениями запроса.
     
  3. nikolay

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

    С нами с:
    5 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    В смысле оставить пользователя на page.html, но выдать заголовок 404? Меня в первую очередь интересует SEO-аспект. Не появятся ли в индексе дубли страниц? Когда только озадачился этим вопросом, нарыл в индексе пару сайтов, у которых что-то типа "Страница не найдена" присутствует в разном, но не единичном количестве. Например, page1.html - страница не найдена, page2.html - страница не найдена, page3.html - страница не найдена и так далее. Правда, я забыл глянуть. Может, там заголовок 404 не отдавался и поисковики думали, что это разные страницы.
     
  4. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    редиректить с 404 на морду - не вариант?
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    зачем?
     
  6. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Так делают продвинутые сеошники
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    идиоты так делают =)
     
  8. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    даже не смешно. еще раз вопрос. зачем редиректить если страница не найдена?
     
  10. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Зачем пользователю показывать бестолковую 404 страничку (мол ты поц, не туда попал и иди гуляй), если можно ему показать морду или карту сайта, чтобы он сам на месте определился, куда ему надо?
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Ему не надо показывать бестолковую 404 страничку. Ему надо показать умную 404 страничку, и ни в коем случае не редиректить.
     
  12. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Зачем пользователю показывать 404 страничку?
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Чтобы он знал, что искомое не найдено.
    Я тебя не понимаю.
     
  14. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Намного полезней пользователю показать что-то полезное, чем бесполезную 404 страничку.
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Да, ему нужно показать полезную 404 страничку.

    Ты здоров? =)
     
  16. ПОЛЕЗНУЮ.)
    кстати, как это реализовать на хостинге без доступа к конфи файлам сервера??
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    завернуть всё на свои файлы как обычно. не понял. все запросы обрабатываются вашей CMS или вашими скриптами, и вы сами решаете где у вас 404 а где 200. Кто ж за вас решит...
     
  18. я пишу свой движок и сторонние CMSки не использую...
    слышал что в настройках апача можно прописать адрес для 404..но у меня доступа туда нет
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    если ты пишешь свой движок а не херню, то надо брать на себя все запросы.
     
  20. например? как можно на php обработать запрос не существующей страницы?
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Код (Text):
    1. <IfModule mod_rewrite.c>
    2.   RewriteEngine on
    3.   RewriteCond %{REQUEST_FILENAME} !-f
    4.   RewriteCond %{REQUEST_FILENAME} !-d
    5.   RewriteCond %{REQUEST_URI} !=/favicon.ico
    6.   RewriteRule ^.*$ index.php [L,QSA]
    7. </IfModule>
    фпирёт
    в данном случае запросы на файлы будут обработаны сервером. Но запросы на несуществующие урлы и файлы всё равно пойдут в index.php. Равно как и любые другие запросы, если такого файла не нашлось в папке.
     
  22. хмм.. а куда это прописать?
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    оу...
    в .htaccess
     
  24. спасибо.
    только вот боюсь у меня нет туда доступа((
    я сейчас написал в службу поддержки..надеюсь на лучшее =)
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты попробуй положить такой файл прямо в корень своего сайта и посмотри на эффект
     
Статус темы:
Закрыта.