Jump to content
Дизайн и модификация Invision Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Fisana

Страница 404 вместо форумного сообщения об ошибке

Recommended Posts

Проблема в том, что если в индекс попадают несуществующие форумные url, под разными адресами в индексе дублируется сообщение об ошибке.

А такие дубли – не есть гуд.

 

С сайтом все просто, там 404 настроишь, и все...

А вот как форум заставить перенаправлять ошибочные внутренние адреса на страницу 404, не знаю.

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

Share this post


Link to post
С сайтом все просто, там 404 настроишь, и все...

А вот как форум заставить перенаправлять ошибочные внутренние адреса на страницу 404, не знаю.

Они же и так перенаправляются. Чем плоха 404 страница сайта?

Share this post


Link to post

Они перенаправляются на страницу об ошибке форума, если url корректный.

Например сейчас в индексе есть такие URL

 

Надо, чтобы выводило на страницу сайта 404.html, а не на ошибку форума.

Хотя бы поисковых ботов выводило.

Юзеров-то ладно, пусть на форуме оставляет.

Share this post


Link to post

Тоже такая же проблема, хотел решить её, у меня запрос один на 1 место в гугле и яндексе стоит уже 2 емсяцв, хотя странички не существует, выдаёт ошибку форума, и поисковик её не удаляет.

 

вот ещё кое что нашёл , но оно для 2.1 - может кто попрбует или переделает под 2.3

 

в index.php наити.

//--------------------------------
//  Do we have permission to view
//  the board?
//--------------------------------

if ($ipsclass->member['g_view_board'] != 1)
{
$ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'no_view_board') );
}

 

заменить на.

 

//--------------------------------
//  Do we have permission to view
//  the board?
//--------------------------------

if ($ipsclass->member['g_view_board'] != 1)
{
$ipsclass->boink_it("http://www.yoursite.com/forum/index.php?act=idx");
}

 

в sources/classes/class_session.php - наити.

 

$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'you_are_banned', 'INIT' => 1 ) );

 

Заменить на

 

$this->ipsclass->boink_it("http://www.yoursite.com/forum/index.php?act=idx");

 

Всё!!!

 

Дополнительный текс.

 

Redirecting the banned members.

 

Replace the url in the new codes with your forum address but with a small error on it (e.g. change the "forums" folder to "forum"). Remember, the point here is to redirect them to an error page.

 

Alternatively, you can send them to another site or even another page created by you.

 

Your banned members will not understand what is happening and maybe think that your forums are offline or no longer exist, leaving you in peace for a while.

 

 

Upload the files to your server.

 

Upload the files back to your FTP server and you're done with this small modification.

 

If you want to test this modification, create a test member account in the Banned group and log in with his details. You should be redirected to the page you stated in the steps 1 and 2.

 

Orignal Article Author: Cointreau

Share this post


Link to post

В /sources/ipsclass.php

 

Найти:

$html = $this->compiled_templates['skin_global']->Error( $msg, $em_1, $em_2, 1);

 

Заменить на:

#404 for search bots
if( $this->is_bot )
{
 $this->boink_it('адрес страницы 404');
}
else
{
 $html = $this->compiled_templates['skin_global']->Error( $msg, $em_1, $em_2, 1);
}

 

При возникновении любых стандартных ошибок ботов будет перекидывать на страницу 404.

Share this post


Link to post

Спасибо большое :(

Тут уже вставила.

Share this post


Link to post

что то я не понял как вся эта система работает...

 

Так нужно было настроить?

 

#404 for search bots
if( $this->is_bot )
{
 $this->boink_it('/404.html');
}
else
{
 $html = $this->compiled_templates['skin_global']->Error( $msg, $em_1, $em_2, 1);
}

Share this post


Link to post

Без подчеркивания перед http только.

Share this post


Link to post
Без подчеркивания перед http только.

ну это понятно. Вот только не пойму в чем весь прикол. Кто туда будет перенаправляться? Боты? Но ведь при вводе ошибочного урл и так включается страничка с кодом 404. Или изменения будут работать для таких вот случаях - _http://ipbskins.ru/forum/tags/test.html ?

 

Нужно в данном случае запрещать /404.html или нет?

Share this post


Link to post

Она будет работать для ботов вместо сообщения об ошибке форума.

Ошибка форума индексируется многократно при любых неправильных внутренних url форума.

Получаются дубли.

Вот эти дубли теперь для ботов заменятся нормальной законной ошибкой 404.

/404.html запрещать не нужно.

Боты ее знают, и это теперь одна на все про все страничка вместо десятков url с форумной ошибкой.

Share this post


Link to post

Она будет работать для ботов вместо сообщения об ошибке форума.

Ошибка форума индексируется многократно при любых неправильных внутренних url форума.

Получаются дубли.

Вот эти дубли теперь для ботов заменятся нормальной законной ошибкой 404.

/404.html запрещать не нужно.

Боты ее знают, и это теперь одна на все про все страничка вместо десятков url с форумной ошибкой.

 

В портале новом можно вписывать 404 ошибку. Вот пример кода для создания)

 

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


<title>404 - Название</title>

<h1><font size="7">404: Not found</font></h1>
<br />
<h2><font size="4">Такой страницы не существует</font></h2>

  • Upvote 1

Share this post


Link to post

Она будет работать для ботов вместо сообщения об ошибке форума.

Ошибка форума индексируется многократно при любых неправильных внутренних url форума.

Получаются дубли.

Вот эти дубли теперь для ботов заменятся нормальной законной ошибкой 404.

/404.html запрещать не нужно.

Боты ее знают, и это теперь одна на все про все страничка вместо десятков url с форумной ошибкой.

 

Только теперь в индексе все равно будет эта страничка, потому как сервер отдает - HTTP/1.1 200 OK. А надо HTTP/1.1 404 Not Found.

 

У себя (но у меня ipb 2.3.х) решил так. Ищем в файлах /sources/action_public/topics.php и /sources/action_public/forums.php строчки

 

$this->ipsclass->Error( array( 'LEVEL' => 1, 'MSG' => 'is_broken_link') );

 

и выше добавляем

 

header("HTTP/1.1 404 Not Found");

 

теперь бот понимает, что такой странички нет и не должен включать ее в индекс

 

 

 

В 3 линейке, думаю, можно по аналогии проблему решить.

Share this post


Link to post
В 3 линейке, думаю, можно по аналогии проблему решить.

В третьей линейки отдача кодов уже встроено по умолчанию.

 

У себя (но у меня ipb 2.3.х) решил так. Ищем в файлах /sources/action_public/topics.php и /sources/action_public/forums.php строчки

Так как и в том и в другом случае используется метод метод Error класса ipsclass, можно было сделать проще, и сделать отдачу статуса в этом методе.

А если делать по аналогии с 3x добавить дополнительный входящий параметр в Error c кодом статуса, и добавить где вызывается Error нужные статусы.

Share this post


Link to post

Они же и так перенаправляются.

Перенаправляются только несуществующие файлы. Параметры (QUERY STRING) не учитываются, а IPB работает именно через параметры.

Т.е. физически /index.php?showtopic=99999 сервером будет отдаваться код 200, так как файл index.php существует, хотя самой темы showtopic=99999 на форуме нету (в тройке теперь уже отдается 404 код).

Share this post


Link to post

В Новом IP.Content можно делать 404 страницу, но google ее не понимает.

 

Когда мы проверили несколько URL из вашего файла Sitemap, то обнаружили, что роботу Google не удалось открыть некоторые URL из-за ошибки статуса HTTP. Все доступные URL будут по-прежнему отправляться.

 

Sitemap: сайт.ru/forums/index.php?app=core&module=global&section=sitemap&sitemap=sitemap_core_content_pages.xml.gz

Ошибка HTTP: 404

URL: сайт.ру/404.html

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...