Редирект към начална страница

Angell

Active Member
Здравейте,
Имам един въпрос.
Има ли вариант да се настрои ОС 2.0.1.1 да редиректва грешка 404 към начална страница?
Искам да го направя за един сайт, който има доста индексирани страници, които в момента дават грешка 404.
Мисля, че това от към СЕО ще е добър вариант...
Благодаря!
Поздрави!
 
От: Редирект към начална страница

Най - добрия вариант е да си направиш страница специално за 404. Иначе редирект можеш да направиш чрез .htaccess

Ако ще редиректваш, пробвай с това:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . / [L,R=301]

Ето още информация по телмата:

http://www.htaccessbasics.com/404-custom-error-page/
 
От: Редирект към начална страница

Сработи много добре
Благодаря!
Поздрави!
 
От: Редирект към начална страница

Това за сайта от подписа ли правиш? Защото в момента всичко редиректва към началната и се вижда само тя.
 
От: Редирект към начална страница

Да... За него сайт...
Много интересно наистина...
Всичко редиректва към начална страница...
Защо така?
 
От: Редирект към начална страница

@kokovi4 Благодаря за обратната връзка
Премахнах кода, докато не намеря друго решение.
Поздрави!
 
От: Редирект към начална страница

Да... За него сайт...
Много интересно наистина...
Всичко редиректва към начална страница...
Защо така?

Не може да се направи универсално решение за тази цел посредством .htaccess, понеже така наречените сео адреси работят с несъществуващи урл адреси. Това, което ти е дадено по-горе като пример означа следното: ако съответната заявка не представлява физически път до файл на сървъра да пренасочва към начална страница. По този начин всяка заявка до директория или сео адрес ще пренасочва към началната страница.

Много лесно може да се постигне желания от теб ефект с лека промяна в контролера на страницата отговаряща за грешка като промениш хедъра от 404 на 301.

Отваряш catalog/controller/error/not_found.php и намираш следния ред в началото:
PHP:
$this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found');
Заменяш го със следния:
PHP:
$this->response->redirect(HTTP_SERVER, 301);

По този начин всеки адрес, който води до страница за грешка ще пренасочва към началната страница.
 
От: Редирект към начална страница

@ stan_bg
Много съм ти благодарен!
Това ми реши проблема!
Поздрави!
 
От: Редирект към начална страница

@Angell
Добре, че си оправи проблема и сега от SEO гледна точка, сайта ти е перфектне :lol:

но въпреки всичко ако изгледаш това видео може да си промениш решението. Но пък во пък толкова, на някои хора им е к-то за сеото, важното за тях е сайта да се показва на челни позиции в гугъл :D

https://www.youtube.com/watch?v=dmxJ1P9XwkU
 
От: Редирект към начална страница

@hahovec
Явно ти си първия човек в света, или поне в България, който знае със сигурност точните алгоритми на Google.
Аз не съм специалист като тебе, даже не съм никакъв специалист по СЕО.
Просто имам нещо предвид и затова търсих вариант да го направя по този начин.
Ако имаш желание да помогнеш - благодаря.
Но ако смяташ да иронизираш и да подскачаш от кеф като видиш някоя грешка - просто няма смисъл.
Поздрави!
 
От: Редирект към начална страница

Не подскачам от кеф, още в първия пост ти казах какво трябва да направиш. Каквато и тежест да са имали линковете ти, вече нямат. Човека явно ти каза как гугъл тества тежестта на линковете, като търси 404 и като не я намери какво прави. Не познавам отлично алгоритъма на гугъл, но не пропускам нито една лекция, презентация, конференците и прочие в които има реални говорители от техническия екип на гугъл в България. В контактите си във социалните мрежи имам добавени същите тези и хора и почти не пропускам техен и пост и от там имам що годе добра представа за това как действат. Не си задължен да ме послушаш, дори и не ме интересува, просто се опитвам да бъда полезен.
 
От: Редирект към начална страница

@hahovec
Благодаря ти за съвета.
Поздрави
 

Горе