Яндекс выдает код ошибки 406

12
UL
На сайте с 25.06.2003
Offline
0
2863

Добрый день!

Сделал я сайт на php - Яндекс его проиндексировал на ура, а вот Рамблер не захотел!

Почитал статейки в инете и переделал так, чтоб урл вида

http://www.hotmessage.ru/showpost.php?rid=1&page=2

заменялся на

http://www.hotmessage.ru/index/showpost1-2

с помощью mod_rewrite

В результате по обеим ссылкам можно было попасть на нужную страничку.

Но теперь Яндекс отказывается переиндексировать:

Вот такую херню пишет:

Ваш URL http://www.hotmessage.ru/index/showpost-1 не был внесен в нашу базу данных.

Причина: Неверный формат ресурса (сервер вернул код ошибки 406)

Хотя в скрипте, который урл-ки обрабатывает, я писал:

Header ("HTTP/1.0 200 Ok");

Header("Last-Modified: ".gmdate("D, M d Y H:i:s",filemtime(basename($PHP_SELF)))." GMT");

В чем косяк????? ПОМОГИТЕ!!!!

Спасибо!

[Удален]
#1

В чем косяк????? ПОМОГИТЕ!!!!

Так не грузится же страница по адресу http://www.hotmessage.ru/showpost1-2

Вот и робот ее забрать не сможет

UL
На сайте с 25.06.2003
Offline
0
#2

sorry, ошибся малец в ссылочке

http://www.hotmessage.ru/index/showpost-1-1

вот такая ссылка, например

[Удален]
#3

Странное что-то, надо на addurl@yandex.ru писать.

Sergey Petrenko
На сайте с 23.10.2000
Offline
482
#4

Да, странно, сервер честно отдает 200.

Там нет никаких шалостей с useragent, например?

UL
На сайте с 25.06.2003
Offline
0
#5

Может я просто где-то накосячил:

Содержание .htaccess

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

RewriteEngine On

RewriteBase /

RewriteRule ^index/(.*)$ /index.php/$1

<FilesMatch "^(index.php)$">

ForceType application/x-httpd-php

</FilesMatch>

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

Содержание index.php - скрипт обрабатывающий урл

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

<?

function parse($uri)

{

if($uri){

$real=explode("/",$uri);

#echo $real[0];

#echo $real[1];

#echo $real[2];

#echo $real[3];

$convert=explode("-",$real[2]);

$num = sizeof($convert);

#print "$uri_number[0]\n";

#print "$uri_number[1]\n";

#print "$uri_number[2]\n";

#echo $num;

header("HTTP/1.0 200 OK");

header("HTTP/1.1 200 OK");

header("Status: 200");

header("Last-Modified: ".gmdate("D, M d Y H:i:s",filemtime(basename($PHP_SELF)))." GMT");

if ($convert[0]=='showpost')

{

if ($num==2)

{

$rid=$convert[1];

include('showpost.php');

}

if ($num==3)

{

$rid=$convert[1];

$page=$convert[2];

include('showpost.php');

}

}

if ($convert[0]=='addpost')

{

if ($num==2)

{

$rid=$convert[1];

include('addpost.php');

}

}

if ($convert[0]=='addreply')

{

if ($num==3)

{

$idpost=$convert[1];

$idrazdel=$convert[2];

include('addreply.php');

}

}

if ($num == 1)

{

include('http://www.hotmessage.ru/start.php');

}

if (!$num)

{

include('http://www.hotmessage.ru/start.php');

}

}

}

// вызываем функцию с глобальной переменной $REQUEST_URI в качестве параметра

parse($REQUEST_URI);

?>

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

Посмотрите плиз!

Спасибо

UL
На сайте с 25.06.2003
Offline
0
#6

Вот что на Яндексе ответили:

Добрый день, Алексей!

Обратитесь к администратору своего сервера за разъяснениями:

$ telnet www.hotmessage.ru 80

Trying 62.118.251.36...

Connected to www.hotmessage.ru.

Escape character is '^]'.

GET /index/showpost-1 HTTP/1.0

Accept: text/html

Host: www.hotmessage.ru

HTTP/1.1 406 Not Acceptable

Date: Thu, 26 Jun 2003 10:22:11 GMT

Server: Apache/1.3.27 (Unix) FrontPage/5.0.2.2623 PHP/4.3.2 mod_gzip/1.3.19.1a m

od_accounting/1.0 mod_fastcgi/2.4.0 mod_ssl/2.8.14 OpenSSL/0.9.7b rus/PL30.17

Alternates: {"index.php" 1 {type application/x-httpd-php} {length 1248}}

Connection: close

Content-Type: text/html; charset=iso-8859-1

С уважением,

Александр Амилющенко

Служба поддержки

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

www.yandex.ru

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

[Удален]
#7

Действительно фигня какая-то.

Если в http-заголовках написать Accept: text/html, то 406.

Если Accept: */* - то 200.

Что-то с настройками...

UL
На сайте с 25.06.2003
Offline
0
#8

В настройках чего?

Apache??

Какой вопрос провайдеру задать?

[Удален]
#9

Это что-то с настройками Апача, что-то связанное с multiviews...

Провайдеру задать вопрос - почему при запросе

GET /index/showpost-1 HTTP/1.1

Accept: text/html

Host: www.hotmessage.ru

выдается код 406, хотя должен 200, и при запросе

GET /index/showpost-1 HTTP/1.1

Accept: */*

Host: www.hotmessage.ru

он и выдается, с тем самым text/html в типе.

A
На сайте с 18.07.2003
Offline
0
#10

Аналогичная проблема. Написал в службу поддержки сайта.

Их ответ: ... Мы можем всего-лишь еще раз повторить что это документированый баг именно PHP при использовании Multiviews mod_rewrite сдесь не причем ...

Что же делать?!!!!

Совет "сменить хостинг" можно принять только через год, т.к. оплачено вперед. :(

12

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