У меня есть сайт, который является основой системы, которую мы разработали. Обычно мы ходим в разные места, подключаем серверную систему через Интернет и продолжаем.
Теперь нам нужно отправиться на площадку, которая буквально находится в поле и вообще не имеет доступа к Интернету. У меня есть система, работающая на локальном компьютере, без проблем, но я хочу сделать основной сайт в Интернете недоступным для пользователей, но дать им сообщение о том, что произошло.
На данный момент у меня в корне есть .htaccess:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteRule ^(.+)$ http://www.example.com/offline.php [R,L]
Какая половина работает, но браузерам это не нравится:
Firefox обнаружил, что сервер перенаправляет запрос на этот адрес способом, который никогда не будет завершен.
Напомним, я хочу любой Введенный URL:
http://www.example.com/
http://www.example.com/dir1/
http://www.example.com/dir1/?area=value
etc.
оказаться в
http://www.example.com/offline.php
Любые идеи?
спасибо Кевин
Краткая версия заключается в том, что вашему правилу перезаписи необходим параметр исключения для offline.php. В противном случае он пытался перенаправить все страницы в этом домене, включая offline.php - таким образом, Firefox предупреждал вас о бесконечном цикле.
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/offline\.php$
RewriteRule ^(.*)$ http://www.example.com/offline.php [L,NC,R=301]
Для получения дополнительной информации ознакомьтесь с решением, описанным на странице ".htaccess и mod_rewrite (перенаправления) объяснены".
Перенаправление всех ваших страниц на одну:
Эта специальная перезапись полезна, когда вам нужно закрыть сайт (навсегда или для обслуживания) и направить трафик со всех страниц на специальную страницу, которая объясняет текущую ситуацию. Этот пример исключает таблицы стилей, изображения jpg и gif из перенаправления, поэтому вы все равно можете использовать наш "внешний вид" на специальных страницах. Смотри мой Mod_rewite перенаправляет все страницы сайта на одну пост, чтобы узнать больше об этом.