• UAH
  • USD
  • RUB
  • EUR
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 449-04-21  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

SEO. 301 редирект, Как правильно убрать дубль главной страницы сайта.

Форумы SEO 301 редирект, Как правильно убрать дубль главной страницы сайта.
zip-service
04.09.2012
хостинг: есть
домен: есть
301 редирект, Как правильно убрать дубль главной страницы сайта.
После проверки сайта и перед запуском рекламной компании порекомендовали сделать 301 редирект с дубля главной страницы сайта
http://адрес сайта/index.html на страницу http://адрес сайта/
Вопрос в том, как правильно это сделать?

Пробовал создать файл: .htaccess (до этого на сайте его не было)
с вот таким содержимым:
Redirect 301 /index.html http://адрес сайта/

Теперь, если зайти на сайт по http://адрес сайта/ то,
1) Firefox выдает ошибку:
Неверное перенаправление на странице
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом,
что он никогда не завершится.
* Эта проблема может возникать при отключении или запрещении принятия кук.

2) Opera выдает ошибку:
Moved Permanently
The document has moved here.

Если зайти на сайт по http://адрес сайта/index.html
то загружается главная страница.

До появления файла .htaccess
Главная загружалась нормально по таким запросам:
http://адрес сайта
http://адрес сайта/
адрес сайта
http://адрес сайта/index.html

Может я что-то не так пишу в .htaccess
или надо кроме строки:
Redirect 301 /index.html http://адрес сайта/
еще что-то добавить?
Помогите, кто может.
chapay85
04.09.2012
хостинг: есть
домен: есть
Добавьте в самое начало файла index.php вот такой код:

<?
if($_SERVER['REQUEST_URI'] == "/index.php") {
header("Location: /",TRUE,301);
exit();
}
?>
zip-service
04.09.2012
хостинг: есть
домен: есть
у меня главная страница в index.html
а этот код кажется только для PHP или нет?
chapay85
04.09.2012
хостинг: есть
домен: есть
Да, этот код можно вставить и в html-файл. Будет работать.

Не забывайте, что перед изменением файлов сайта необходимо сделать свежую резервную копию файлов и БД
zip-service
04.09.2012
хостинг: есть
домен: есть
нет. к сожалению не работает :(
chapay85
04.09.2012
хостинг: есть
домен: есть
В чем это выражается?
Дайте временный доступ к аккаунту - заставлю работать.
zip-service
04.09.2012
хостинг: есть
домен: есть
Что-ж такое,ну не работает.
В общем на данный момент файлы выглядят так:
.htaccess
RewriteEngine On
# Редирект с сайта с WWW на сайт без WWW
RewriteCond %{HTTP_HOST} ^www.сайт.ru$
RewriteRule ^(.*)$ http://сайт.ru/$1 [R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://сайт.ru [R=301,L]
# Разрешить выполнение php-скриптов в html-файлах
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html

index.html
<?php
if($ SERVER[REQUEST_URI] == "/index.html") {
header("Location: /",TRUE,301);
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
и т.д.

Кроме того удалил со всех страниц сайта все ссылки на /index.html

В файле sitemap.xml удалил ссылку на http://имя сайта/index.html

Что бы ещё такое сделать что бы index.html исчез.
chapay85
04.09.2012
хостинг: есть
домен: есть
>Правильно ли я понимаю, что переадресация должна работать именно так?
Да, так оно и работает.
Для этого в файл index.html
в самое начало (перед всеми тегами)
добавьте код:

<?php
if($_SERVER['REQUEST_URI'] == "/index.html") {
header("Location: /",TRUE,301);
exit();
}
?>
===================
При этом стоит для верности не копировать, а заново набрать вышеприведённый скрипт, т.к. многие текстовые редакторы часто "по своему" вставляют такие вещи, как кавычки, и пр. символы.

Выглядеть это должно примерно так:

<?php
if($_SERVER['REQUEST_URI'] == "/index.html") {
header("Location: /",TRUE,301);
exit();
}
?>

<html>
<head>
<title>qwerty site</title>
...и прочий код файла index.html
chapay85
04.09.2012
хостинг: есть
домен: есть
Ай, рассеянный я!
В вашем случае в скрипте необходимо заменить строку:
if($_SERVER['REQUEST_URI'] == "/index.php") {
на строку
if($_SERVER['REQUEST_URI'] == "/index.html") {

тогда заработает как надо.
Правильный вариант будет выглядеть так:

<?php
if($_SERVER['REQUEST_URI'] == "/index.html") {
header("Location: /",TRUE,301);
exit();
}
?>
zip-service
04.09.2012
хостинг: есть
домен: есть
Что-ж такое,ну не работает.
В общем на данный момент файлы выглядят так:
.htaccess
RewriteEngine On
# Редирект с сайта с WWW на сайт без WWW
RewriteCond %{HTTP_HOST} ^www.сайт.ru$
RewriteRule ^(.*)$ http://сайт.ru/$1 [R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/
RewriteRule ^index\.html$ http://сайт.ru [R=301,L]
# Разрешить выполнение php-скриптов в html-файлах
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html

index.html
<?php
if($ SERVER[REQUEST_URI] == "/index.html") {
header("Location: /",TRUE,301);
exit();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
и т.д.

Кроме того удалил со всех страниц сайта все ссылки на /index.html

В файле sitemap.xml удалил ссылку на http://имя сайта/index.html

Что бы ещё такое сделать что бы index.html исчез.
chapay85
04.09.2012
хостинг: есть
домен: есть
Ну тогда я пас.
По крайней мере, всё, что я мог посоветовать - я посоветовал. А гадать о причинах неработоспособности решения без доступа к сайту как минимум непродуктивно.
Надеюсь, вы найдёте решение.
zip-service
04.09.2012
хостинг: есть
домен: есть
Большое спасибо Вам за уделенное время.
Попробую ещё разные варианты и сочетания.
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.

Тема закрыта по истечению срока давности.
Горячая линия
(044)
392 74 33
другие города