Хорошего всем дня...
В ближайшее время буду переделывать основное меню навигации и нужно будет раскидать материалы по новым категориям.
Подскажите, как правильно прописывается 301 редирект для внутренних страниц?
Redirect 301 http://mydomen.ru/page1.html http://mydomen.ru/page2.html - так?
- 25.05.2013 13:09
- 25.05.2013 22:54
Спасибо сказали:
Mohatma(26.05.2013), - 27.05.2013 01:10
Можно так прям в движке, если на php:
if (strcmp($_SERVER['REQUEST_URI'],"/page1.html")) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://mydomen.ru/page2.html");
exit();
}Спасибо сказали:
Mohatma(27.05.2013), - 27.05.2013 04:16
_Серега_, Думаю мне проще будет через 301
- 28.05.2013 10:53
Да не проще!
PHP код:И все... делайте массив хоть из тысяч страниц, переадресовывайте, с незначительной переделкой можно брать uri из базы. Код вставить надо повыше в индексный файл до начала вывода.//Создаешь массив страниц подлежащих переадресации:
$pagesToRedir = array('/page1.html'=>'/page2.html','/page3.html'=>'/page4.html');
//ключ массива исходная страница, значение ключа куда надо и пробегаем циклом
foreach ($pagesToRedir as $k=>$v) {
if (strcmp($_SERVER['REQUEST_URI'],$k)) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://mydomen.ru".$v);
exit();
}
}
Последний раз редактировалось _Серега_; 28.05.2013 в 10:58.
- 28.05.2013 11:18
_Серега_,
Ну там скорей всего страницы по маске редиректить будут. Да и скорость вашего решения, при большом количестве страниц явно проигрывает - 28.05.2013 11:48
согласен решение лобовое неэлегантное, зато воплощается без регулярных выражений, все понятно, бери и пользуйся. Не думаю что падение производительности будет критично для обычных сайтов из 500-1000 страниц. Тем более что наткнуться надо всего на 1 ключ в массиве данных по заданному. У меня похожим образом реализовано на сайте с выбором из базы sitemap. Если запрашиваемой страницы нет в таблице выдается 404. Из этой же таблице генерируется sitemap.xml. Нормально все летает. Page Speed 97
- 28.05.2013 12:46
- Регистрация: 26.12.2011
- Сообщений: 148
- Репутация: 17
Всегда делаю вот так в .htaccess:
Redirect 301 /page1.html /page2.html - 28.05.2013 16:34
Ну да. Особенно если убрать из вашего кода перебор через цикл, а реализовать так.
Код://Создаешь массив страниц подлежащих переадресации: $pagesToRedir = array('/page1.html'=>'/page2.html','/page3.html'=>'/page4.html'); $key = explode('?',$_SERVER['REQUEST_URI']); $key = $key[0]; if(isset($pagesToRedir[$key])){ header("HTTP/1.1 301 Moved Permanently"); header("Location: http://mydomen.ru".$pagesToRedir[$key]); exit(); }
Спасибо сказали:
_Серега_(28.05.2013),
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Как правильно сделать редирект внутренних страниц? | Web программирование | 16 | 22.03.2012 15:58 |
Как правильно сделать редирект внутренних страниц? | Вопросы от новичков | 3 | 17.03.2012 15:33 |
Ссылки с главных или внутренних страниц для повышения тиц? | Поисковые системы | 10 | 11.11.2011 16:51 |
Бесплатная анлимитная проверка внутренних страниц на PR | Софт, скрипты, сервисы | 4 | 19.09.2011 04:00 |
PR для внутренних страниц | 32 | 02.08.2011 14:38 |