Подтвердить что ты не робот

"ИЛИ" Флаг в.htaccess mod_rewrite

Просто нашел этот.htaccess код перезаписи

RewriteEngine on
RewriteCond %{HTTP_HOST} ^my.domain.com$ [NC,OR]
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

И мне было интересно, какова цель флага "ИЛИ". Уже проверен документ http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteflags, но coulnd найдет любую информацию.

Есть идеи?

4b9b3361

Ответ 1

от http://httpd.apache.org/docs/current/mod/mod_rewrite.html

ornext|OR (или следующее условие) Используйте это, чтобы комбинировать условия правила с локальным OR вместо неявного AND. Типичный пример:

RewriteCond %{REMOTE_HOST}  ^host1  [OR]
RewriteCond %{REMOTE_HOST}  ^host2  [OR]
RewriteCond %{REMOTE_HOST}  ^host3
RewriteRule ...some special stuff for any of these hosts...

Ответ 2

[ИЛИ] используется, когда вы хотите, чтобы одно ИЛИ другое ИЛИ другое условие вызывало перезапись. В противном случае поведение по умолчанию - "И". Все RewriteConds должны быть истинными, чтобы вызвать правило.