Использование .htaccess для перенаправления domain.co.uk/index.html для www.domain.co.uk

#apache #.htaccess #mod-rewrite #redirect #http-status-code-301

#apache #.htaccess #модификация-перезапись #перенаправление #http-status-code-301

Вопрос:

Я заметил, что поисковые системы сканируют как domain.co.uk и www.domain.co.uk версии веб-сайта, который я недавно разработал. Используя .htaccess, я смог настроить перенаправления http 301 так, чтобы:

и

Однако:

Содержимое моего .htaccess (очевидно, я заменил свой домен, чтобы упростить задачу):

 Options  FollowSymlinks
RewriteEngine on
RewriteCond %{http_host} ^domain.co.uk [nc]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,nc]
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.domain.co.uk/$1 [R=301,L]
  

Я знаю, что, вероятно, я упускаю что-то очевидное, но, пожалуйста, не мог бы кто-нибудь помочь мне получить окончательное перенаправление на http://www.domain.co.uk работает, как ожидалось?

Ответ №1:

Первая часть вашего набора правил работает нормально, отсутствующий www. добавлен правильно. Для второй части вам нужно только простое правило для удаления index.html без использования каких-либо дополнительных условий:

 Options  FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.co.uk [NC]
RewriteRule ^(.*)$ http://www.domain.co.uk/$1 [R=301,NC]
RewriteRule ^index.html$ http://www.domain.co.uk/ [R=301,L]
  

Я думаю, это должно сработать.

Комментарии:

1. Спасибо jCoder, для меня это имеет смысл, но domain.co.uk/index.html перенаправляет на сайт domain marketplace вместо этого теперь (www.sedo.co.uk ), есть идеи?

2. Я думаю, что это выходит за рамки вопроса о перезаписи .htaccess. Я думал, что вы использовали это доменное имя в качестве замены вашего реального домена (что-то вроде example.com ). Если вы являетесь владельцем этого домена, то вы могли бы проверить запись whois или связаться с вашей веб-хостинговой компанией.

3. Извините за путаницу, да, я все еще использовал domain.co.uk в качестве замены моего реального домена, просто чтобы упростить пример. Я владелец рассматриваемого домена и просто пытаюсь перенаправить все возможные маршруты на домашнюю страницу на www.mydomain.co.uk поскольку в настоящее время я, похоже, страдаю от разбавленных результатов поиска.

4. Хорошо, по какой-то причине при очистке кэша моего браузера, по-видимому, использовались последние настройки .htaccess, ваши изменения выше, к сожалению, вызывают цикл перенаправления.

5. Это интересно (потому что я пробовал это с собственным доменом). В любом случае, может возникнуть цикл перенаправления, если файл, вызываемый для ‘/’, сам выполняет внешнее перенаправление на ‘index.html ‘, который зависит от деталей реализации вашей страницы. Если возможно, проверьте доступ. файл журнала для домена, позволяющий увидеть, откуда происходят перенаправления.