6
Potrzebuję użyć SetEnvIf
w moim pliku .htaccess
.Dodawanie wielu warunków w SetEnvIf
Muszę również spełnić kilka warunków , a następnie pokazać wymagany adres URL.
Oto mój kod:
SetEnvIf Remote_Host "^" press_flag=0
SetEnvIf Request_URI '/press/$' press_flag=1
SetEnvIf Cookie 'language\_uiAAAenglishBBB' press_flag=press_flag+1
SetEnvIf press_flag 2 Request_URI='Remote_Host/eng/test.html'
Objaśnienie:
- W pierwszym wierszu, jestem ustawienie zmiennej
press_flag
do0
. - Druga linia, sprawdzam, czy adres URL kończy się na tym tekście:
/press/
, jeśli ustawiona jest wartość true, ustawiam "znacznik stanu" na1
. - Trzecia linia, sprawdzić, czy plik cookie mecze
language\_uiAAAenglishBBB
tekst, jeśli jest prawdziwa, to przyrostpress_flag
wartość o 1. - ostatniej linii, sprawdzić czy wartość
press_flag
wynosi 2, a następnie ustawićHTTP_HOST
odpowiednio.
Ale kiedy otworzę w przeglądarce, nie zostanie przekierowany.
Proszę pomóc w debugowaniu i naprawieniu tego kodu.
Dzięki.
Druga linia nie ma sensu, 'HTTP_HOST' to nazwa domeny, nie ma nic wspólnego z segmentem _ścieżkę_ adresu URL. I nie widzę, żebyś robił jakiekolwiek przekierowania w dowolnym miejscu. – CBroe
@CBroe: Ok. Dziękuję za poprawienie mnie. Czy powinienem zastąpić * HTTP_HOST * na * HOST *? –
Nie, nie ma zmiennej środowiskowej o nazwie 'HOST' - a jeśli tak, to HOST nadal nie znaczy" ścieżka ". – CBroe