Как 302 перенаправить весь трафик на домашнюю страницу с помощью .htaccess? Избежать бесконечного цикла перенаправления?

Как перенаправить весь трафик с моего сайта на главную страницу?

Делаем редизайн сайта под клиента. На их нынешнем хостинге мы удалили их старый сайт и поставили целевую страницу (http://norbutconstruction.com/) в качестве основного индекса.

Это код, который у меня есть в файле .htaccess, выполняющий перенаправление:

<IfModule mod_rewrite.c>
   #Redirect all of the traffic to the temporary landing page
   RewriteEngine on
   RewriteRule (.*) /index.php [R=302,L]
</IfModule>

Когда я пытаюсь посетить страницу, проиндексированную Google (http://www.norbutconstruction.com/contact-us), это приводит к бесконечному циклу. Пока я работаю с файлами .htaccess, я, кажется, помню правила написания, которые приводят к бесконечным циклам. Я знаю, что это должно быть что-то очень простое, но я даже не могу найти пример того, как это сделать.

Есть ли у кого-нибудь предложения о том, как заставить этот код работать, или какие-либо общие предложения о том, как избежать бесконечных циклов в перенаправлениях .htaccess? Кажется, у меня всегда с этим проблемы.

Заранее спасибо!


person BVBAccelerate    schedule 01.03.2011    source источник


Ответы (1)


Попробуй это:

<IfModule mod_rewrite.c>
   #Redirect all of the traffic to the temporary landing page
   RewriteEngine on
   RewriteCond %{REQUEST_URI} !.*index\.php
   RewriteRule (.*) /index.php [R=302,L]
</IfModule>
person Richard Pianka    schedule 01.03.2011
comment
Мне просто нужно было добавить эти строки: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d, потому что у меня была ссылка на изображение в этом файле, которое также перенаправлялось. - person BVBAccelerate; 02.03.2011