Fisana 700 03/03/2009 08:49 AM Проблема в том, что если в индекс попадают несуществующие форумные url, под разными адресами в индексе дублируется сообщение об ошибке.А такие дубли – не есть гуд. С сайтом все просто, там 404 настроишь, и все...А вот как форум заставить перенаправлять ошибочные внутренние адреса на страницу 404, не знаю.Помогите, плиз. Share this post Link to post
Ph-A 395 03/03/2009 09:39 AM С сайтом все просто, там 404 настроишь, и все...А вот как форум заставить перенаправлять ошибочные внутренние адреса на страницу 404, не знаю.Они же и так перенаправляются. Чем плоха 404 страница сайта? Share this post Link to post
Fisana 700 03/03/2009 10:13 AM Они перенаправляются на страницу об ошибке форума, если url корректный.Например сейчас в индексе есть такие URL Надо, чтобы выводило на страницу сайта 404.html, а не на ошибку форума.Хотя бы поисковых ботов выводило.Юзеров-то ладно, пусть на форуме оставляет. Share this post Link to post
firmont 0 04/26/2009 11:05 PM Тоже такая же проблема, хотел решить её, у меня запрос один на 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
WildRAID 2 04/27/2009 11:41 AM В /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
siv1987 2,630 05/05/2009 07:52 PM что то я не понял как вся эта система работает... Так нужно было настроить? #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
siv1987 2,630 05/05/2009 08:46 PM Без подчеркивания перед http только.ну это понятно. Вот только не пойму в чем весь прикол. Кто туда будет перенаправляться? Боты? Но ведь при вводе ошибочного урл и так включается страничка с кодом 404. Или изменения будут работать для таких вот случаях - _http://ipbskins.ru/forum/tags/test.html ? Нужно в данном случае запрещать /404.html или нет? Share this post Link to post
Fisana 700 05/05/2009 09:31 PM Она будет работать для ботов вместо сообщения об ошибке форума.Ошибка форума индексируется многократно при любых неправильных внутренних url форума.Получаются дубли.Вот эти дубли теперь для ботов заменятся нормальной законной ошибкой 404./404.html запрещать не нужно.Боты ее знают, и это теперь одна на все про все страничка вместо десятков url с форумной ошибкой. Share this post Link to post
Атаман 465 04/12/2013 07:32 PM Она будет работать для ботов вместо сообщения об ошибке форума.Ошибка форума индексируется многократно при любых неправильных внутренних 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> 1 Share this post Link to post
kgb 35 05/10/2013 11:10 PM Она будет работать для ботов вместо сообщения об ошибке форума.Ошибка форума индексируется многократно при любых неправильных внутренних 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
siv1987 2,630 05/11/2013 09:28 AM В 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
siv1987 2,630 07/05/2013 07:28 AM Они же и так перенаправляются.Перенаправляются только несуществующие файлы. Параметры (QUERY STRING) не учитываются, а IPB работает именно через параметры.Т.е. физически /index.php?showtopic=99999 сервером будет отдаваться код 200, так как файл index.php существует, хотя самой темы showtopic=99999 на форуме нету (в тройке теперь уже отдается 404 код). Share this post Link to post
Атаман 465 07/07/2013 07:12 PM В Новом IP.Content можно делать 404 страницу, но google ее не понимает. Когда мы проверили несколько URL из вашего файла Sitemap, то обнаружили, что роботу Google не удалось открыть некоторые URL из-за ошибки статуса HTTP. Все доступные URL будут по-прежнему отправляться. Sitemap: сайт.ru/forums/index.php?app=core&module=global§ion=sitemap&sitemap=sitemap_core_content_pages.xml.gzОшибка HTTP: 404URL: сайт.ру/404.html Share this post Link to post