Условные операторы php_flag в .htaccess - PullRequest
6 голосов
/ 13 февраля 2010

Есть ли способ условно выполнить операторы php_flag в .htaccess? Вот две вещи, которые я пытаюсь сделать:

Включите отчеты об ошибках, если IP-адрес клиента соответствует IP-адресу, который я использую:

if %{REMOTE_ADDR} == '12.34.56.78' then
   php_flag error_reporting 1
else
   php_flag error_reporting 0

Отключите register_globals, если IP-адрес совпадает с моим, чтобы я мог отлаживать любые проблемы, вызванные кодом, ожидающим его включения.

if %{REMOTE_ADDR} == '12.34.56.78' then
   php_flag register_globals on
else
   php_flag register_globals on

Спасибо за чтение!

1 Ответ

1 голос
/ 04 ноября 2010

керри,

Я подозреваю, что проблема с вашей первой попыткой заключается в том, что ваше регулярное выражение "^192\.168\.0$". Это никогда не будет соответствовать ни одному из возможных Remote_Addr, поскольку у вас есть только 3 части IP-адреса с принудительным началом "^" и концом "$".

Возможно, вы намеревались использовать регулярное выражение "^192\.168\.0\."?

Обратите внимание, что в конце я исключил "$", так что не имеет значения, как заканчивается IP-адрес. И что я включил дополнительный экранированный период "\.", чтобы у соответствующих IP-адресов был фактический "0", а не что-то вроде "012", "001" и т. д. (за исключением того, что эти заполненные нулями части должны присутствовать в любом IP-адресе).

...