Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Перенаправление при пустой странице.
 
 автор: Den*s   (03.08.2012 в 01:49)   письмо автору
 
 

Прочитал что яндекс плохо относится к пустым страницам которые не выдают 404 ошибки
Например на сайте показывается контент по ссылке site.ru/contacts
но если набрать site.ru/contacts111 выводится просто пустая страница, это есть плохо.
Как лучше сделать перенаправление на главную, или может нужно как то вернуть пользователю/роботу 404 ошибку?

  Ответить  
 
 автор: Владимир55   (03.08.2012 в 11:01)   письмо автору
 
   для: Den*s   (03.08.2012 в 01:49)
 

Следует запрещать к индексации все страницы, содержащие меньше 1500 символов, и не допускать ссылок на пустые страницы.

  Ответить  
 
 автор: Den*s   (03.08.2012 в 23:33)   письмо автору
 
   для: Владимир55   (03.08.2012 в 11:01)
 

про 1500 символов не знал, буду исправлять, а вот по поводу запрещать к индексации пустые страницы.
Ссылок на пустые (или не существующие) страницы у меня нет, я имел ввиду этот пункт
Несуществующие страницы вместо 404 отдают код 302, 301, 200 и т.д. 78%
Код примерно такой

<?
 $url 
mysql_real_escape_string($_GET["url"]);
 
 
$query mysql_query("SELECT * FROM tableName WHERE pageName = '$url'  ");
 
$show_content mysql_fetch_assoc($query);
 
 if (
$show_content)
 {
     
//вывод контента
 
}
 else
 {
     
//что писать тут, например можно JavaScript отправить пользователя на главную страницу
 
}
?>


то есть если по переменной $url в базе ничего нет, то выдаётся пустая страница, как я понял яндекс иногда поставляет несуществующие страницы к доменному имени, и если там пусто - это плохо.

Вопрос в том что дать роботу при отсутствии контента по урлу, как вариант например сделать в самом начале страницы вот так

<?
 
// проверка, есть ли контент по ссылке, и если нет, выдать в браузер то что ниже ...
 
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="refresh" content="0; url=/">
</head>

<body>

</body>
</html>

  Ответить  
 
 автор: Владимир55   (05.08.2012 в 00:12)   письмо автору
 
   для: Den*s   (03.08.2012 в 23:33)
 

Откуда взялся УРЛ, по которому нет контента?

Имеется в виду, что изначально контент был, а теперь его не стало? Тогда нужно выдавать 404.

Редирект на главную абсолютно недопустим.

  Ответить  
 
 автор: Den*s   (06.08.2012 в 17:24)   письмо автору
 
   для: Владимир55   (05.08.2012 в 00:12)
 

>Откуда взялся УРЛ, по которому нет контента?
>Имеется в виду, что изначально контент был, а теперь его не стало? Тогда нужно выдавать 404.

Контента изначально не было, просто раз в базе ничего нет, отображается сайт со всем дизайном, но без контента.
Тогда нужно выдавать 404.
Вот я и хотел узнать, как грамотно выдавать 404 ошибку, то есть нужно настроить апач (.htacces) как то, что бы он направлял на 404.php, или может что то вроде

<?php header("HTTP/1.1 404 Not Found"); ?>

  Ответить  
 
 автор: Владимир55   (06.08.2012 в 17:45)   письмо автору
 
   для: Den*s   (06.08.2012 в 17:24)
 

Лично я пишу в .htacces

ErrorDocument 404 http://сайт.ru/404.html


Если для данного адреса в базе ничего нет, то ничего и не выдается. И дизайн не выдается тоже.

  Ответить  
 
 автор: Den*s   (06.08.2012 в 21:38)   письмо автору
 
   для: Владимир55   (06.08.2012 в 17:45)
 

в htacces запись добавлю, спасибо ...
>Если для данного адреса в базе ничего нет, то ничего и не выдается. И дизайн не выдается тоже.

Я имел ввиду вот что, если открыть http://site.ug-ugol.ru/about то видна страница о компании, с текстом
а если например поисковик вздумает посмотреть вот так http://site.ug-ugol.ru/about1 или http://site.ug-ugol.ru/about_us то там пусто, но дизайн и меню на месте ... получается страница без текста

  Ответить  
 
 автор: Владимир55   (06.08.2012 в 23:19)   письмо автору
 
   для: Den*s   (06.08.2012 в 21:38)
 

Так делать нельзя - измените логику работы CMS.

  Ответить  
 
 автор: Den*s   (07.08.2012 в 12:53)   письмо автору
 
   для: Владимир55   (06.08.2012 в 23:19)
 

Хммм, пока не могу представить как, в самом начале страницы определяю, что такой страницы нет. А потом что делать .... если перенаправления не рекомендуются то что делать ....

  Ответить  
 
 автор: Владимир55   (07.08.2012 в 14:38)   письмо автору
 
   для: Den*s   (07.08.2012 в 12:53)
 

Как можно предположить, сформировав страницы из данных, имеющихся в базе, или иным образов собрав HTML код средствами РНР, Вы завершаете эту операцию через echo (во всяком случае, у меня так).

Нет этого оператора - нет и вывода.

(Опять же, у меня так)

  Ответить  
 
 автор: Den*s   (07.08.2012 в 17:40)   письмо автору
 
   для: Владимир55   (07.08.2012 в 14:38)
 

Спасибо за подсказку, буду переделывать ...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования