2009-07-02 4 views
12

Я хотел бы реализовать mod_rewrite, чтобы разместить мой сайт в обслуживании. В основном все IP-адреса, кроме указателя, который мы укажем, будут перенаправлены на статическую страницу html.mod_rewrite на основе ip

Пожалуйста, помогите с этим правилом. Также есть способ легко и просто отключить это без редактирования файла htaccess?

ответ

15

Вы можете использовать переменную REMOTE_ADDR в RewriteCond

RewriteCond %{REMOTE_ADDR} !^10\.0\.1\.1$ 
RewriteRule^/maintenance.html 

Просто изменить условия, чтобы соответствовать IP-адреса вы хотите, более чем в одном вы можете использовать^(iP1 | ф2 | ... | фп) $.

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

+0

Не забудьте отметить начало и конец вашего обычного выражение. – Gumbo

0

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

Смежные вопросы