ПредишенСледващото

директива RewriteCond определя условията за правило. Преди директива RewriteRule са разположени една или повече директиви RewriteCond. Следваща ги правило преобразуване се използва само когато URI отговаря на условието на директивите, както и условията на тези addtional директиви.

TestString низ, който може да съдържа и следните допълнителни конструкции vdopolenii в обикновен текст:

  • RewriteRule backreferences. Този вид обратна връзка
(0 <= N<= 9) предоставляющие доступ к сгруппированным частям (в круглых скобках!) шаблона из соответствующей директивы RewriteRule (единственной, следующей сразу затекущим набором директив RewriteCond ).
  • RewriteCond backreferences. Този вид обратна връзка (1 <= N<= 9) предоставляющие доступ ксгруппированным частям (в круглых скобках!) шаблона из соответствующей директивы RewriteCond втекущем наборе условий.
  • RewriteMap експанзия. Този тип разширение Вижте документацията за RewriteMap за повече информация.
  • сървърни променливи. Този тип променлива

    NAME_OF_VARIABLE, който може да бъде низ взета от следния списък:

    съединение поискване:

    HTTP _USER_AGENT
    HTTP _REFERER
    HTTP _COOKIE
    HTTP _FORWARDED
    HTTP _HOST
    HTTP _PROXY_CONNECTION
    HTTP _ACCEPT

    REMOTE_ADDR
    REMOTE_HOST
    REMOTE_USER
    REMOTE_IDENT
    REQUEST_METHOD
    SCRIPT_FILENAME
    PATH_INFO
    QUERY_STRING
    AUTH_TYPE

    DOCUMENT_ROOT
    SERVER_ADMIN
    SERVER_NAME
    SERVER_ADDR
    SERVER_PORT
    SERVER_PROTOCOL
    SERVER_SOFTWARE

    TIME_YEAR
    TIME_MON
    TIME_DAY
    TIME_HOUR
    TIME_MIN
    TIME_SEC
    TIME_WDAY
    ВРЕМЕТО

    API _VERSION
    THE_REQUEST
    REQUEST_URI
    REQUEST_FILENAME
    IS_SUBREQ

    Тези променливи са в пълно съответствие с подобно име MIME-заглавията HTTP. и Apache сървъри променливи или полетата на структурата TM Unix системи. Повечето от тях са в други места за документиране на потребителя или в спецификацията на CGI. Тези, които са специални за mod_rewrite включват:

    IS_SUBREQ ще съдържа текст

    Условието е условията на модел, т.е. който и да е регулярен израз приложена към текущата инстанция TestString. т.е. TestString виждал търси подходящи условия.

    Запомнете: Това състояние Perl съвместими регулярни изрази с някои допълнения:

    1. Можете да предхожда шаблон низ префикс! (Удивителен знак), за да посочите, че няма модел за съвпадение.
    2. Има някои специални варианти на условията. Вместо обичайните редовете с регулярни изрази можете да използвате едно от следните неща:
      • <Условие (лексически меньше)
        Състояние като обикновен низ и го сравнява лексикографски да TestString. Вярно е, ако TestString лексикално по-малко от това състояние.
      • > Състояние (лексикално повече)
        Състояние като обикновен низ и го сравнява лексикографски да TestString. Вярно е, ако TestString лексикално по-голямо от това състояние.
      • = Условия (лексикално равен)
        Състояние като обикновен низ и го сравнява лексикографски да TestString. Вярно е, ако TestString лексикално равни. т.е. Тези две линии са напълно идентични (vsimvol символ). Ако състоянието е под формата "" (два последователни знак инча) TestString го сравнява с празен низ.
      • -г (независимо дали директорията)
        TestString счита от, проверява наличието на пътя и на факта, че този път е директория.
      • -е (независимо дали е обикновен файл)
        TestString счита начин да удостовери наличието на този път itochto този начин е обикновен файл.
      • -S (liobychnym файл е различен от нула размер)
        TestString счита от, проверява наличието на пътя и на факта, че този път е обикновен файл, чийто размер е по-голям от нула.
      • -L (референтна lisimvolicheskoy)
        TestString счита от, проверява наличието на пътя и на факта, че този път е символична връзка.
      • -F (проверка за наличието на даден файл, като под-заявка)
        Проверки чрез списъци за достъп на сървъра за контрол, които съществуват в момента, независимо дали TestString съществуващ файл на разположение по този път. За този тест се използват вътрешни под-заявка, така че използвайте тази опция, с повишено внимание - това се отразява отрицателно на naproizvoditelnosti сървър!
      • -U (проверка за съществуването на URL от подзаявка)
        Проверки чрез списъци за достъп на сървъра за контрол, които съществуват в момента, независимо дали TestString съществуващ URL. достъпни по този начин. За този тест се използват вътрешни под-заявка, така че използвайте тази опция, с повишено внимание - това се отразява отрицателно на naproizvoditelnosti сървър!

    Всички тези тестове могат също така да бъде предшествано от представката удивителен знак ( "!") За да намали тяхното значение.

  • Освен това можете да зададете специални знамена за добавяне Състояние

    третият аргумент директива RewriteCond. списък Знамена на следните флагове, разделени със запетаи:

    • nocase | NC (нечувствителен)
      Регистърът няма стойност, т.е. Не са разликите между "А-Z" ГА-Z "в приложение TestString и условия. Този флаг е ефективен само за сравнения между TestString и условия. Тя не работи по време на инспекции на файловата система и под-заявки.
    • ornext | OR (или следващата състояние)
      Използвайте комбинация от условията в правилата или вместо И. Типичен пример: Без този флаг ще трябва да напише състояние / правило три пъти.

    За издаване на началната страница в зависимост от настройката на User-Agent: искане с глава, можете да използвате следните директиви:

    Тълкуване: Ако имате Netscape Navigator (което се определя като "Mozilla"), можете да издаде максимум препълнена страница с рамки и т.н. Ако Lynx (текст, базиран браузър), да ви даде най-малко препълнена страницата, без графики, таблици и т.н. Ако някой друг браузър, осигурява стандартна страница.

    Свързани статии

    Подкрепете проекта - споделете линка, благодаря!