Сайт не работает - PullRequest
       4

Сайт не работает

2 голосов
/ 22 сентября 2010

У меня есть сайт, организованный следующим образом с поддоменами в качестве подкаталогов:

/ [webroot]
/subdomain1/
/subdomain2/

Я хотел бы создать файл htaccess, который переписывает все файлы, к которым был получен доступ, в сообщение maintenance.php с 503, но я не уверен, почему следующее не перехватывает подкаталоги?

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$ 
RewriteCond %{REQUEST_URI} !^/maintenance\.php$
RewriteRule ^(.*)$ /maintenance.php [L]

Должен ли я вызывать каждый подкаталог что-то вроде ...

RewriteRule ^/subdirectory1(.*)$ /maintenance.php [L]
RewriteRule ^/subdirectory2(.*)$ /maintenance.php [L]

Ответы [ 2 ]

1 голос
/ 22 сентября 2010

Это должно работать:

RewriteEngine On
RewriteCond %{REMOTE_HOST} !^111\.222\.333\.444
RewriteCond %{REQUEST_URI} !/maintenance.php$
RewriteRule $ /maintenance.php [L]
0 голосов
/ 27 сентября 2010

Если у вас есть дополнительные файлы htaccess в ваших подкаталогах, вы должны следить за изменениями после удаления этого файла. Если элементы управления htacess переписываются, вы можете получить 404 ошибки при просмотре этих страниц.

Я ожидал увидеть страницу обслуживания, не понимая, что мне нужен другой IP-адрес в соответствии с кодом:

Этот код позволяет вашему ip просматривать сайт и больше никому:

RewriteEngine On
RewriteBase /

#ip is not your ip. Change ip to see maintenance page
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$

#requests made not to maintenance.php ... 
RewriteCond %{REQUEST_URI} !^/maintenance\.php$

#rewrite to maintenance.php
RewriteRule ^(.*)$ /maintenance.php [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...