лНДСКЭ Apache mod_rewrite

оНЯКЕДМЪЪ ПЕДЮЙЖХЪ:21 ЛЮЪ 2008

пЕГЧЛЕ

╚цКЮБМНЕ ОПЕХЛСЫЕЯРБН mod_rewrite═≈ МЮЯРПЮХБЮЕЛНЯРЭ Х═ЦХАЙНЯРЭ Sendmail. нАПЮРМЮЪ ЯРНПНМЮ mod_rewrite═≈ МЮЯРПЮХБЮЕЛНЯРЭ Х═ЦХАЙНЯРЭ Sendmail╩.

-- Brian Behlendorf
Apache Group

╚мЕЯЛНРПЪ МЮ═РНММШ ОПХЛЕПНБ Х═ДНЙСЛЕМРЮЖХЧ, mod_rewrite ЩРН бСДС. вЕПРНБЯЙХ ЙК╦БШИ бСДС, МН═БЯЕ-РЮЙХ бСДС.╩

-- Brian Moore
bem@news.cmc.net

дНАПН ОНФЮКНБЮРЭ Б═ЛХП mod_rewrite, ЬБЕИЖЮПЯЙХИ МНФ URL ОПЕНАПЮГНБЮМХИ!

дЮММШИ ЛНДСКЭ ОПЕДЯРЮБКЪЕР ЯНАНИ НЯМНБЮММШИ МЮ═ОПЮБХКЮУ ЛЕУЮМХГЛ (ЯХМРЮЙЯХВЕЯЙХИ ЮМЮКХГЮРНП Я═ОПХЛЕМЕМХЕЛ ПЕЦСКЪПМШУ БШПЮФЕМХИ), БШОНКМЪЧЫХИ URL ОПЕНАПЮГНБЮМХЪ МЮ═КЕРС. лНДСКЭ ОНДДЕПФХБЮЕР МЕНЦПЮМХВЕММНЕ ЙНКХВЕЯРБН ОПЮБХК Х═ ЯБЪГЮММШУ Я═ЙЮФДШЛ ОПЮБХКНЛ СЯКНБХИ, ПЕЮКХГСЪ ДЕИЯРБХРЕКЭМН ЦХАЙХИ Х═ЛНЫМШИ ЛЕУЮМХГЛ СОПЮБКЕМХЪ URL. URL ОПЕНАПЮГНБЮМХЪ ЛНЦСР ХЯОНКЭГНБЮРЭ ПЮГМШЕ ХЯРНВМХЙХ ДЮММШУ, МЮОПХЛЕП ОЕПЕЛЕММШЕ ЯЕПБЕПЮ, ОЕПЕЛЕММШЕ НЙПСФЕМХЪ, HTTP ГЮЦНКНБЙХ, БПЕЛЪ Х═ДЮФЕ ГЮОПНЯШ Й═БМЕЬМХЛ АЮГЮЛ ДЮММШУ Б═ ПЮГМШУ ТНПЛЮРЮУ,═≈ ДКЪ ОНКСВЕМХЪ URL МСФМНЦН БЮЛ БХДЮ.

щРНР ЛНДСКЭ НОЕПХПСЕР Я═ОНКМШЛХ URL (БЙКЧВЮЪ path-info) Х═Б═ЙНМРЕЙЯРЕ ЯЕПБЕПЮ (httpd.conf) Х═Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ (.htaccess) Х═ДЮФЕ ЛНФЕР ЦЕМЕПХПНБЮРЭ ВЮЯРХ ЯРПНЙХ ГЮОПНЯЮ Б═ЙЮВЕЯРБЕ ПЕГСКЭРЮРЮ. оПЕНАПЮГНБЮММШИ ПЕГСКЭРЮР ЛНФЕР ОПХБНДХРЭ Й═БМСРПЕММЕИ НАПЮАНРЙЕ, БМЕЬМЕЛС ОЕПЕМЮОПЮБКЕМХЧ ГЮОПНЯЮ ХКХ ДЮФЕ Й═ОПНУНФДЕМХЧ ВЕПЕГ БМСРПЕММХИ ОПНЙЯХ ЛНДСКЭ.

мН, БЯЪ ЩРЮ ТСМЙЖХНМЮКЭМНЯРЭ Х═ЦХАЙНЯРЭ ХЛЕЕР ЯБНИ МЕДНЯРЮРНЙ═≈ ЯКНФМНЯРЭ. оНЩРНЛС, МЕ═ДСЛЮИРЕ ВРН БШ═ОНИЛЕРЕ ПЮАНРС ЛНДСКЪ ГЮ═НДХМ ДЕМЭ.

щРНР ЛНДСКЭ АШК ОПХДСЛЮМ Х═МЮОХЯЮМ Б═ЮОПЕКЕ 1996═Х═ЩЙЯЙКЧГХБМН ОНДЮПЕМ The Apache Group Б═ХЧКЕ 1997═

Ralf S. Engelschall
rse@engelschall.com
www.engelschall.com

дХПЕЙРХБШ

рЕЛШ

бМСРПЕММХЕ ОПНЖЕЯЯШ

бМСРПЕММХЕ ОПНЖЕЯЯШ Б═ЩРНЛ ЛНДСКЕ НВЕМЭ ЯКНФМШ, НДМЮЙН, ХУ═МСФМН НАЗЪЯМХРЭ УНРЪ АШ═ПЮГ, Х═ДЮФЕ НАШВМНЛС ОНКЭГНБЮРЕКЧ, БН═ХГАЕФЮМХЕ ПЮЯОПНЯРПЮМ╦ММШУ НЬХАНЙ Х═ПЮЯЙПШРХЪ БЯЕИ ЕЦН ТСМЙЖХНМЮКЭМНЯРХ.

тЮГШ API

дКЪ МЮВЮКЮ, МСФМН ОПНЯРН ОНМЪРЭ, ВРН НАПЮАНРЙС ЙЮЙНЦН-КХАН HTTP ГЮОПНЯЮ, ЯЕПБЕП Apache ДЕКЮЕР Б═ТЮГЮУ. оЕПЕУБЮРВХЙ ЩРХУ ТЮГ НАЕЯОЕВХБЮЕРЯЪ Apache API. Mod_rewrite ХЯОНКЭГСЕР 2═ХГ═ ЩРХУ ОЕПЕУБЮРВХЙНБ: РПЮМЯКЪРНП ХГ═URL Б═ХЛЪ ТЮИКЮ ХЯОНКЭГСЕЛШИ ОНЯКЕ ЯВХРШБЮМХЪ HTTP ГЮОПНЯЮ, МН═ДН═МЮВЮКЮ ЙЮЙНИ-КХАН ЮБРНПХГЮЖХХ Х═ОЕПЕУБЮРВХЙ ЮДПЕЯМНИ ОПХБЪГЙХ МЮВХМЮЧЫХИ ПЮАНРЮРЭ ОНЯКЕ ТЮГ ЮБРНПХГЮЖХХ Х═ЯВХРШБЮМХЪ ЙНМТХЦСПЮЖХНММШУ ТЮИКНБ ЙЮРЮКНЦЮ (.htaccess), МН═ДН═ ЮЙРХБХГЮЖХХ НАПЮАНРВХЙЮ ЯНДЕПФЮМХЪ.

оНЩРНЛС, ОНЯКЕ ОНЯРСОКЕМХЪ ГЮОПНЯЮ Х═НОПЕДЕКЕМХЪ Apache'ЕЛ ЯННРБЕРЯРБСЧЫЕЦН ЯЕПБЕПЮ (ХКХ БХПРСЮКЭМНЦН ЯЕПБЕПЮ) ЛЕУЮМХГЛ ОПЕНАПЮГНБЮМХИ МЮВХМЮЕР НАПЮАНРЙС БЯЕУ ДХПЕЙРХБ mod_rewrite ХГ═ ЙНМТХЦСПЮЖХНММНЦН ТЮИКЮ ЯЕПБЕПЮ Б═ТЮГЕ РПЮМЯКЪЖХХ ХГ═URL Б═ХЛЪ ТЮИКЮ. мЕЯЙНКЭЙН ЬЮЦНБ ЯОСЯРЪ, ЙНЦДЮ МЮУНДЪРЯЪ ЙЮРЮКНЦХ Я═ЙНМЕВМШЛХ ДЮММШЛХ, ЙНМТХЦСПЮЖХНММШЕ ДХПЕЙРХБШ mod_rewrite ГЮОСЯЙЮЧРЯЪ Б═ТЮГЕ ЮДПЕЯМНИ ОПХБЪГЙХ. б═НАНХУ ЩРХУ ЯХРСЮЖХЪУ mod_rewrite ОПЕНАПЮГСЕР URL, КХАН Б═МНБШЕ URL, КХАН Б═ХЛЕМЮ ТЮИКНБ, УНРЪ ЛЕФДС МХЛХ МЕР НАЗЕЙРХБМШУ ПЮГКХВХИ. оПХ ЯНГДЮМХХ API, МЕ═ОПЕДОНКЮЦЮКНЯЭ ЕЦН ХЯОНКЭГНБЮМХЕ РЮЙХЛ НАПЮГНЛ, НДМЮЙН ВРН ЙЮЯЮЕРЯЪ Apache 1.x ЩРН ЕДХМЯРБЕММШИ БНГЛНФМШИ ЯОНЯНА ПЮАНРШ mod_rewrite. вРНАШ БМЕЯРХ АНКЭЬЕ ЪЯМНЯРХ ГЮОНЛМХРЕ 2═БЕЫХ:

  1. уНРЪ mod_rewrite Х═ОПЕНАПЮГСЕР URL Б═URL, URL Б═ ХЛЕМЮ ТЮИКНБ Х═ДЮФЕ ХЛЕМЮ ТЮИКНБ Б═ХЛЕМЮ ТЮИКНБ, Б═МЮЯРНЪЫХИ ЛНЛЕМР API ОПЕДНЯРЮБКЪЕР РНКЭЙН ОЕПЕУБЮРВХЙ ДКЪ ОПЕНАПЮГНБЮМХЪ URL Б═ХЛЪ ТЮИКЮ. бН═2-Л Apache АСДСР ДНАЮБКЕМШ 2═НРЯСРЯРБСЧЫХУ ОЕПЕУБЮРВХЙЮ ДКЪ РНЦН, ВРНАШ ЯДЕКЮРЭ ЩРНР ОПНЖЕЯЯ АНКЕЕ КНЦХВМШЛ. нДМЮЙН ЩРН МХЙЮЙ МЕ═БКХЪЕР МЮ═ОНКЭГНБЮРЕКЪ,═≈ ОПНЯРН ЩРНР ТЮЙР МЮДН ГЮОНЛМХРЭ: Apache Б═ОЕПЕУБЮРВХЙЕ URL ХЛЪ ТЮИКЮ ДЕКЮЕР АНКЭЬЕ МЕФЕКХ ВЕЛ ЩРН ОНДПЮГСЛЕБЮЕРЯЪ Б═API.
  2. аЕЯОНДНАМШИ mod_rewrite ОПНДЕКШБЮЕР URL ОПЕНАПЮГНБЮМХЪ Х═Б═ ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ, Р.Е. Б═ТЮИКЮУ .htaccess, УНРЪ НМХ Х═НАПЮАЮРШБЮЧРЯЪ МЮЛМНЦН ОНГФЕ РПЮМЯКЪЖХХ URL Б═ХЛЕМЮ ТЮИКНБ. рЮЙ ДНКФМН АШРЭ, ОНРНЛС ВРН .htaccess ТЮИКШ МЮУНДЪРЯЪ Б═ТЮИКНБНИ ЯХЯРЕЛЕ, Х═ОНЩРНЛС НАПЮАНРЙЮ СФЕ ДНЬКЮ ДН═ЩРНИ ЯРЮДХХ. дПСЦХЛХ ЯКНБЮЛХ: яНЦКЮЯМН ТЮГЮЛ API,═≈ Б═ЩРН БПЕЛЪ СФЕ ЯКХЬЙНЛ ОНГДМН СОПЮБКЪРЭ URL. вРНАШ ПЕЬХРЭ ОПНАКЕЛС ЙСПХЖШ Х═ЪИЖЮ, mod_rewrite ХЯОНКЭГСЕР УХРПНЯРЭ: ЙНЦДЮ БШ═ ЛЮМХОСКХПСЕРЕ URL/ХЛЕМЕЛ ТЮИКЮ Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ, mod_rewrite ЯМЮВЮКЮ ОПЕНАПЮГСЕР ХЛЪ ТЮИКЮ НАПЮРМН, Й═ЯННРБЕРЯРБСЧЫЕЛС ЕЛС URL (ВРН НАШВМН МЕБНГЛНФМН, НДМЮЙН, ЯЛНРПХРЕ ДХПЕЙРХБС RewriteBase ВСРЭ МХФЕ, ЦДЕ МЮОХЯЮМН ЙЮЙ ЩРН ЯДЕКЮРЭ) Х═ГЮРЕЛ ХМХЖХХПСЕР МНБШИ БМСРПЕММХИ ОНДГЮОПНЯ Я═ЩРХЛ МНБШЛ URL. щРН ОЕПЕГЮОСЯЙЮЕР ОПНЖЕЯЯ НАПЮАНРЙХ ТЮГ API.

    х═ЯМНБЮ mod_rewrite СОНПМН ОШРЮЕРЯЪ ЯДЕКЮРЭ ЩРНР ЯКНФМШИ ЬЮЦ ОНКМНЯРЭЧ ОПНГПЮВМШЛ ДКЪ ОНКЭГНБЮРЕКЪ, НДМЮЙН ГДЕЯЭ БЮЛ ЯКЕДСЕР ГЮОНЛМХРЭ: Б═РН═БПЕЛЪ ЙЮЙ ЛЮМХОСКЪЖХХ Я═URL ЙНМРЕЙЯРЕ ЯЕПБЕПЮ ДЕИЯРБХРЕКЭМН АШЯРПШ Х═ЩТТЕЙРХБМШ, ЛЮМХОСКЪЖХХ Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ ЛЕДКЕММШ Х═МЕЩТТЕЙРХБМШ ХГ-ГЮ ОПНАКЕЛШ ЙСПХЖШ Х═ЪИЖЮ. нДМЮЙН, Я═ДПСЦНИ ЯРНПНМШ ЩРН ЕДХМЯРБЕММШИ БНГЛНФМШИ ОСРЭ ПЮАНРШ mod_rewrite (КНЙЮКЭМН НЦПЮМХВЕММШИ) ДКЪ URL ОПЕНАПЮГНБЮМХИ, ДНЯРСОМШИ НАШВМНЛС ОНКЭГНБЮРЕКЧ.

мЕ═ГЮАШБЮИРЕ 2═ЩРХ БЕЫХ!

нАПЮАНРЙЮ МЮАНПНБ ОПЮБХК

гЮОСЯЙЮЪЯЭ Б═ЩРХУ ДБСУ ТЮГЮУ API, mod_rewrite ЯВХРШБЮЕР ЙНМТХЦСПЮЖХНММШЕ МЮАНПШ ОПЮБХК ХГ═ЯБНЕИ ЙНМТХЦСПЮЖХНММНИ ЯРПСЙРСПШ (ЯНГДЮБЮЕЛНИ КХАН НДХМ ПЮГ ОПХ ГЮОСЯЙЕ ЯЕПБЕПЮ,═≈ ДКЪ ЙНМРЕЙЯРЮ ЯЕПБЕПЮ, КХАН ЙЮФДШИ ПЮГ ОПХ НАУНДЕ ЪДПНЛ Apache ЙЮРЮКНЦНБ,═≈ ДКЪ ЙНМРЕЙЯРЮ ЙЮРЮКНЦЮ). гЮРЕЛ ГЮОСЯЙЮЕРЯЪ ЛЕУЮМХГЛ URL ОПЕНАПЮГНБЮМХИ Я═СФЕ ХЛЕЧЫХЛЯЪ МЮАНПНЛ ОПЮБХК (ОПЮБХКН(Ю) БЛЕЯРЕ ЯН═ЯБНХЛХ СЯКНБХЪЛХ). тСМЙЖХНМХПНБЮМХЕ ЯЮЛНЦН ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ Б═РНВМНЯРХ НДХМЮЙНБН ДКЪ НАНХУ ЙНМРЕЙЯРНБ ЙНМТХЦСПЮЖХХ. пЮГКХВЮЧРЯЪ РНКЭЙН ЙНМЕВМШЕ ПЕГСКЭРШ НАПЮАНРЙХ.

оНПЪДНЙ ОПЮБХК Б═МЮАНПЕ БЮФЕМ ОНРНЛС ВРН ЛЕУЮМХГЛ ОПЕНАПЮГНБЮМХИ НАПЮАЮРШБЮЕР ХУ═Б═ЯОЕЖХЮКЭМНЛ (Х МЕ═НВЕМЭ НВЕБХДМНЛ) ОНПЪДЙЕ. бНР ЩРН ОПЮБХКН: лЕУЮМХГЛ ОПЕНАПЮГНБЮМХИ ОПНЯЛЮРПХБЮЕР БЕЯЭ МЮАНП ОПЮБХК ЯРПНВЙЮ ГЮ═ЯРПНВЙНИ (RewriteRule ДХПЕЙРХБШ) Х═ ЙНЦДЮ МЮУНДХРЯЪ ЯННРБЕРЯРБХЕ ЙНМЙПЕРМНЛС ОПЮБХКС ОПНХГБНДХРЯЪ ОПНЯЛНРП ЯННРБЕРЯРБСЧЫХУ ЩРНЛС ОПЮБХКС СЯКНБХИ (RewriteCond ДХПЕЙРХБШ). оН═ХЯРНПХВЕЯЙХЛ ОПХВХМЮЛ СЯКНБХЪ МЮУНДЪРЯЪ ОЕПЕД ОПЮБХКЮЛХ, Х═ОНЩРНЛС ОНЯКЕДНБЮРЕКЭМНЯРЭ БШОНКМЕМХЪ ЙНЛЮМД МЕЛМНЦН АНКЕЕ ДКХММЮЪ. яЛ. ПХЯ. 1═ДКЪ АНКЕЕ ОНДПНАМНИ ХМТНПЛЮЖХХ.

оНЯКЕДНБЮРЕКЭМНЯРЭ БШОНКМЕМХЪ ЙНЛЮД ОПХ НАПЮАНРЙЕ МЮАНПЮ ОПЮБХК
пХЯСМНЙ 1:оНЯКЕДНБЮРЕКЭМНЯРЭ БШОНКМЕМХЪ ЙНЛЮД ОПХ НАПЮАНРЙЕ МЮАНПЮ ОПЮБХК

йЮЙ БШ═ЛНФЕРЕ БХДЕРЭ, ЯМЮВЮКЮ URL ЯПЮБМХБЮЕРЯЪ Я═ ьЮАКНМ ДКЪ ЙЮФДНЦН ХГ═ОПЮБХК. оПХ МЕСДЮВЕ mod_rewrite ЯПЮГС ФЕ═НЯРЮМЮБКХБЮЕР НАПЮАНРЙС ЩРНЦН ОПЮБХКЮ Х═ОПНДНКФЮЕР ПЮАНРС, ХЯОНКЭГСЪ ЯКЕДСЧЫЕЕ ОПЮБХКН. еЯКХ ьЮАКНМ ЯНБОЮДЮЕР, mod_rewrite ХЫЕР ЯННРБЕРЯРБСЧЫХЕ ЩРНЛС ОПЮБХКС СЯКНБХЪ. еЯКХ ХУ═МЕР, НМ═ ОПНЯРН ГЮЛЕМЪЕР URL МНБНИ БЕКХВХМНИ ОНКСВЕММНИ ХГ═ЯРПНЙХ оНДЯРЮМНБЙЮ Х═ОПНДНКФЮЕР ДЮКЭЬЕ НАПЮАЮРШБЮРЭ ОПЮБХКЮ. нДМЮЙН ЕЯКХ ЯСЫЕЯРБСЧР СЯКНБХЪ, ГЮОСЯЙЮЕРЯЪ БМСРПЕММХИ ЖХЙК ДКЪ ХУ═НАПЮАНРЙХ Б═РНЛ ОНПЪДЙЕ Б═ЙНРНПНЛ НМХ ОЕПЕВХЯКЕМШ. дКЪ СЯКНБХИ ЩРЮ КНЦХЙЮ ДПСЦЮЪ: ЛШ═МЕ═ЯПЮБМХБЮЕЛ URL МЮ═ЯННРБЕРЯРБХЕ ЙЮЙНЛС-КХАН ЬЮАКНМС. бЛЕЯРН ЩРНЦН ЛШ═ЯМЮВЮКЮ ЯНГДЮЕЛ ЯРПНЙС яПЮБМХБЮЕЛЮЪяРПНЙЮ ДНОНКМЪЪ Е╦═ОЕПЕЛЕММШЛХ, НАПЮРМШЛХ ЯЯШКЙЮЛХ, ГЮОПНЯЮЛХ Б═АЮГШ ДЮММШУ, Х═Р.Д. Х═ГЮРЕЛ ОШРЮЕЛЯЪ ОПНБЕПЪРЭ МЮ═ЯННРБЕРЯРБХЕ Я═сЯКНБХЕ. еЯКХ ЬЮАКНМ МЕ═ЯННРБЕРЯРБСЕР, БЕЯЭ МЮАНП СЯКНБХИ Х═ЯННРБЕРЯРБСЧЫХУ ОПЮБХК ЯВХРЮЕРЯЪ МЕЯННРБЕРЯРБСЧЫХЛ СЯКНБХЧ. еЯКХ ЕЯРЭ ЯННРБЕРЯРБХЕ ЬЮАКНМС, Б═ЩРНЛ ЯКСВЮЕ ОПНХГБНДХРЯЪ НАПЮАНРЙЮ ЯКЕДСЧЫЕЦН СЯКНБХЪ ДН═РЕУ ОНП ОНЙЮ НМХ АСДСР МЕ═ ХЯВЕПОЮМШ. еЯКХ БЯЕ СЯКНБХЪ ЯНБОЮДЮЧР, ОПНЖЕЯЯ НАПЮАНРЙХ ОПНДНКФЮЕРЯЪ Я═ХЯОНКЭГНБЮМХЕЛ ДКЪ URL ОНДЯРЮМНБЙХ ДЮММШУ ХГ═ОНКЪ оНДЯРЮМНБЙЮ.

щЙПЮМХПНБЮМХЕ ЯОЕЖХЮКЭМШУ ЯХЛБНКНБ

вРН ЙЮЯЮЕРЯЪ Apache 1.3.20, ЯОЕЖХЮКЭМШЕ ЯХЛБНКШ Б═ яПЮБМХБЮЕЛЮЪяРПНЙЮ Х═оНДЯРЮМНБЙЮ ЯРПНЙЮУ ЛНЦСР АШРЭ ЩЙПЮМХПНБЮМШ (ХЛЕЕРЯЪ ББХДС, НРМНЬЕМХЕ Й═МХЛ ЙЮЙ Й═МНПЛЮКЭМШЛ ЯХЛБНКЮЛ АЕГ ХУ═ НАШВМНЦН ЯОЕЖХЮКЭМНЦН ГМЮВЕМХЪ) ОСРЕЛ ОПЕДЬЕЯРБСЧЫЕЦН ХЛ═ЯХЛБНКЮ ЯКЕЬЮ ('\'). дПСЦХЛХ ЯКНБЮЛХ, БШ═ЛНФЕРЕ БЙКЧВЮРЭ ЯХЛБНК═ДНККЮПЮ Б═ЯРПНЙС оНДЯРЮМНБЙЮ ХЯОНКЭГСЪ '\$'; ЩРН МЕ═ОНГБНКХР mod_rewrite НРМНЯХРЭЯЪ Й═МЕЛС ЙЮЙ Й═НАПЮРМНИ ЯЯШКЙЕ.

мЮКХВХЕ НАПЮРМШУ ЯБЪГЕИ Б═ПЕЦСКЪПМШУ БШПЮФЕМХЪУ

гДЕЯЭ МСФМН ГЮОНЛМХРЭ НДМС БЮФМСЧ БЕЫЭ: бЯЪЙХИ ПЮГ, ЙНЦДЮ БШ═ ХЯОНКЭГСЕРЕ ЙПСЦКШЕ ЯЙНАЙХ Б═ьЮАКНМ ХКХ Б═НДМНЛ ХГ═ сЯКНБХЕ, ЯНГДЮЧРЯЪ БМСРПЕММХЕ НАПЮРМШЕ ЯБЪГХ ЙНРНПШЕ ЛНЦСР АШРЭ ХЯОНКЭГНБЮМШ ЯН═ЯРПНЙЮЛХ $N Х═ %N (ЯЛ. МХФЕ). нМХ ОНКЕГМШ ОПХ ЯНГДЮМХХ ЯРПНЙ оНДЯРЮМНБЙЮ Х═яПЮБМХБЮЕЛЮЪяРПНЙЮ. пХЯСМНЙ 2═ОНЙЮГШБЮЕР Б═ЙЮЙХЕ ЛЕЯРЮ ОПХ ДНОНКМЕМХХ (ЯРПНЙ оНДЯРЮМНБЙЮ Х═яПЮБМХБЮЕЛЮЪяРПНЙЮ) ОЕПЕЛЕЫЮЧРЯЪ НАПЮРМШЕ ЯБЪГХ.

дБХФЕМХЕ НАПЮРМШУ ЯБЪГЕИ Б═ОПЮБХКЕ.
пХЯСМНЙ 2: дБХФЕМХЕ НАПЮРМШУ ЯБЪГЕИ Б═ОПЮБХКЕ.

хРЮЙ,═≈ ЩРН АШК МЕОНДЗ╦ЛМШИ ЙСПЯ ОН═БМСРПЕММХЛ ЛЕУЮМХГЛЮЛ mod_rewrite, МН═НМ═БЮЛ ЯХКЭМН ОНЛНФЕР ОПХ ДЮКЭМЕИЬЕЛ ВРЕМХХ ДНЙСЛЕМРЮЖХХ ОН═ДЮММНЛС ЛНДСКЧ.

оЕПЕЛЕММШЕ НЙПСФЕМХЪ

щРНР ЛНДСКЭ НРЯКЕФХБЮЕР ДБЕ ДНОНКМХРЕКЭМШЕ (МЕЯРЮМДЮПРМШЕ) ОЕПЕЛЕММШЕ НЙПСФЕМХЪ CGI/SSI МЮГШБЮЕЛШЕ SCRIPT_URL Х═SCRIPT_URI. нМХ ЯНДЕПФЮР КНЦХВЕЯЙНЕ ОПЕДЯРЮБКЕМХЕ РЕЙСЫЕЦН ПЕЯСПЯЮ, Р.Е. РН, ЙЮЙХЛ БШ═БХДХРЕ ЩРН Б═ЮДПЕЯМНИ ЯРПНЙЕ АПЮСГЕПЮ, Б═РН═БПЕЛЪ ЙЮЙ ЯРЮМДЮПРМШЕ ОЕПЕЛЕММШЕ CGI/SSI SCRIPT_NAME Х═ SCRIPT_FILENAME ЯНДЕПФЮР ТХГХВЕЯЙНЕ ХКХ ЯХЯРЕЛМНЕ ОПЕДЯРЮБКЕМХЕ.

гЮЛЕВЮМХЕ: ЩРХ ОЕПЕЛЕММШЕ ЯНДЕПФЮР URI/URL Б═РНЛ БХДЕ, Б═ЙНРНПНЛ НМХ АШКХ ОЕПБНМЮВЮКЭМН ГЮОПНЬЕМШ, Р.Е., ОЕПЕД РЕЛ ЙЮЙ АШКХ ЯДЕКЮМШЕ ЙЮЙХЕ-КХАН ОПЕНАПЮГНБЮМХЪ. щРН БЮФМН, ХАН ОПНЖЕЯЯ ОПЕНАПЮГНБЮМХЪ Б═ОЕПБСЧ НВЕПЕДЭ ХЯОНКЭГСЕРЯЪ ДКЪ ОПЕНАПЮГНБЮМХЪ КНЦХВЕЯЙХУ URL Б═ТХГХВЕЯЙХЕ ОСРХ Й═ЙНМЙПЕРМШЛ ТЮИКЮЛ.

оПХЛЕП

SCRIPT_NAME=/sw/lib/w3s/tree/global/u/rse/.www/index.html
SCRIPT_FILENAME=/u/rse/.www/index.html
SCRIPT_URL=/u/rse/
SCRIPT_URI=http://en1.engelschall.com/u/rse/

оПЮЙРХВЕЯЙХЕ ПЕЬЕМХЪ

хЛЕЕРЯЪ Х═пСЙНБНДЯРБН ОН═ОПЕНАПЮГНБЮМХЪЛ URL, ЯНДЕПФЮЫЕЕ ЙНККЕЙЖХЧ ОПЮЙРХВЕЯЙХУ ПЕЬЕМХИ ОПНАКЕЛ URL ОПЕНАПЮГНБЮМХИ. рЮЛ ЛНФМН МЮИРХ МЮАНПШ ОПЮБХК БГЪРШЕ ХГ═ПЕЮКЭМНИ ФХГМХ Х═ДНОНКМХРЕКЭМСЧ ХМТНПЛЮЖХЧ Н═ mod_rewrite.

RewriteBase дХПЕЙРХБЮ

нОХЯЮМХЕ: сЯРЮМЮБКХБЮЕР АЮГНБШИ URL ДКЪ ОПЕНАПЮГНБЮМХИ Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ
яХМРЮЙЯХЯ: RewriteBase URL-path
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: яЛНРПХ ХЯОНКЭГНБЮМХЕ ДКЪ АНКЕЕ ОНДПНАМНИ ХМТНПЛЮЖХХ.
йНМРЕЙЯР: directory.htaccess
пЮГПЕЬЕМХЕ: FileInfo
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

дХПЕЙРХБЮ RewriteBase СЯРЮМЮБКХБЮЕР ЙНМЙПЕРМШИ, АЮГНБШИ URL ДКЪ ОПЕНАПЮГНБЮМХИ Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ. йЮЙ БШ═СБХДХРЕ МХФЕ, RewriteRule ЛНФЕР АШРЭ ХЯОНКЭГНБЮМН Б═ЙНМТХЦСПЮЖХНММШУ ТЮИКЮУ ЙЮРЮКНЦНБ (.htaccess). щРН АСДЕР ПЮАНРЮРЭ КНЙЮКЭМН, Р.Е., ОПЕТХЙЯ КНЙЮКЭМНЦН ЙЮРЮКНЦЮ НРАПЮЯШБЮЕРЯЪ МЮ═ЩРНЛ ЩРЮОЕ НАПЮАНРЙХ Х═БЮЬХ ОПЮБХКЮ ОПЕНАПЮГНБЮМХИ ПЮАНРЮЧР РНКЭЙН Б═ НЯРЮБЬЕИЯЪ ВЮЯРХ. б═ЙНМЖЕ НМ═ЮБРНЛЮРХВЕЯЙХ ДНАЮБКЪЕРЯЪ НАПЮРМН Й═ОСРХ. мЮЯРПНИЙЮ ОН-СЛНКВЮМХЧ; RewriteBase physical-directory-path

йНЦДЮ, ДКЪ ЙЮЙНЦН-МХАСДЭ МНБНЦН URL ОПНХЯУНДХР ОНДЯРЮМНБЙЮ(ОПЕНАПЮГНБЮМХЕ), ЩРНР ЛНДСКЭ ДНКФЕМ ГЮМНБН БНБКЕВЭ ЩРНР URL Б═НАПЮАНРЙС. дКЪ РНЦН ВРНАШ ХЛЕРЭ БНГЛНФМНЯРЭ ЯДЕКЮРЭ ЩРН, МСФМН ГМЮРЭ ЙЮЙХЕ С═МЕЦН ОПЕТХЙЯ ХКХ АЮГЮ URL. оН-СЛНКВЮМХЧ ЩРНР ОПЕТХЙЯ ПЮБЕМ ЯЮЛНЛС ОСРХ. нДМЮЙН МЮ═АНКЭЬХМЯРБЕ ЯЮИРНБ URL'Ш ме═ОПЪЛН ЯННРБЕРЯРБСЧР ТХГХВЕЯЙХЛ ОСРЪЛ, ОНЩРНЛС ЩРН ДНОСЫЕМХЕ НАШВМН НЙЮФЕРЯЪ МЕБЕПМШЛ! б═ЩРНЛ ЯКСВЮЕ БШ═ДНКФМШ ХЯОНКЭГНБЮРЭ ДХПЕЙРХБС RewriteBase ДКЪ СЙЮГЮМХЪ ОПЮБХКЭМНЦН ОПЕТХЙЯЮ URL.

еЯКХ URL БЮЬЕЦН ЯЕПБЕПЮ МЕ ЯННРБЕРЯРБСЧР ТХГХВЕЯЙХЛ ОСРЪЛ Й═ТЮИКЮЛ, БШ═ДНКФМШ ХЯОНКЭГНБЮРЭ RewriteBase Б═ЙЮФДНЛ ХГ═.htaccess ТЮИКНБ ЦДЕ БШ═УНРХРЕ ХЯОНКЭГНБЮРЭ ДХПЕЙРХБШ RewriteRule.

мЮОПХЛЕП, ОПЕДОНКНФХЛ ЯКЕДСЧЫХИ ЙНМТХЦСПЮЖХНММШИ ТЮИК ЙЮРЮКНЦЮ:

#
#  /abc/def/.htaccess -- ЙНМТХЦСПЮЖХНММШИ ТЮИК ЙЮРЮКНЦЮ /abc/def
#  оНЛМХРЕ: /abc/def ЩРН ТХГХВЕЯЙХИ ОСРЭ /xyz, Р.Е., С ЯЕПБЕПЮ ЕЯРЭ
#            ДХПЕЙРХБЮ 'Alias /xyz /abc/def' Й ОПХЛЕПС
#

RewriteEngine On

#  ДЮЕЛ ЯЕПБЕПС ГМЮРЭ ВРН ЛШ ПЮАНРЮЕЛ ВЕПЕГ /xyz Ю МЕ
#  ВЕПЕГ ОПЕТХЙЯ ТХГХВЕЯЙНЦН ОСРХ /abc/def
RewriteBase   /xyz

#  РЕОЕПЭ ОПЮБХКЮ ОПЕНАПЮГНБЮМХИ
RewriteRule   ^oldstuff\.html$  newstuff.html

б═ОПХЛЕПЕ БШЬЕ, ГЮОПНЯ Й═ /xyz/oldstuff.html ЙНППЕЙРМН ОПЕНАПЮГСЕРЯЪ Б═ ТХГХВЕЯЙХИ ТЮИК /abc/def/newstuff.html.

дКЪ КЧАХРЕКЕИ ОНЙНБШПЪРЭЯЪ Б═Apache

яКЕДСЧЫХИ ЯОХЯНЙ ДЮЕР ОНДПНАМСЧ ХМТНПЛЮЖХЧ НА═ ЩРЮОЮУ БМСРПЕММЕИ ПЮАНРШ:

гЮОПНЯ:
  /xyz/oldstuff.html

бМСРПЕММЪЪ ПЮАНРЮ:
  /xyz/oldstuff.html     -> /abc/def/oldstuff.html  (per-server Alias)
  /abc/def/oldstuff.html -> /abc/def/newstuff.html  (per-dir    RewriteRule)
  /abc/def/newstuff.html -> /xyz/newstuff.html      (per-dir    RewriteBase)
  /xyz/newstuff.html     -> /abc/def/newstuff.html  (per-server Alias)

пЕГСКЭРЮР:
  /abc/def/newstuff.html

щРН ЙЮФЕРЯЪ НВЕМЭ ЯКНФМШЛ НДМЮЙН ЩРН ЙНППЕЙРМЮЪ БМСРПЕММЪЪ ПЮАНРЮ Apache, ХГ-ГЮ РНЦН ВРН ОПЕНАПЮГНБЮМХЪ Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ ОПНХЯУНДЪР ЯКХЬЙНЛ ОНГДМН Б═ ЩРНЛ ОПНЖЕЯЯЕ. оНЩРНЛС, ЙНЦДЮ ЩРН ОПНХЯУНДХР (ОПЕНАПЮГНБЮМХЕ), ГЮОПНЯ ДНКФЕМ АШРЭ БНГБПЮЫЕМ НАПЮРМН ЪДПС Apache! мн: б═РН═БПЕЛЪ ЙЮЙ ЩРН ЙЮФЕРЯЪ ЯЕПЗ╦ГМШЛ МЮЙКЮДМШЛ ПЮЯУНДНЛ, Б═ДЕИЯРБХРЕКЭМНЯРХ ЩРН МЕ═РЮЙ, ОНРНЛС ВРН ЩРНР БНГБПЮР ОПНХЯУНДХР ЖЕКХЙНЛ БМСРПХ ЯЕПБЕПЮ Apache Х═РЮ═ФЕ═ЯЮЛЮЪ ОПНЖЕДСПЮ ХЯОНКЭГСЕРЯЪ ЛМНЦХЛХ ДПСЦХЛХ НОЕПЮЖХЪЛХ БМСРПХ Apache. оНЩРНЛС, БШ═ЛНФЕРЕ АШРЭ СБЕПЕМШ ВРН ДХГЮИМ Х═ПЕЮКХГЮЖХЪ ОПЮБХКЭМШЕ.

RewriteCond дХПЕЙРХБЮ

нОХЯЮМХЕ: нОПЕДЕКЪЕР СЯКНБХЕ ОПХ ЙНРНПНЛ ОПНХЯУНДХР ОПЕНАПЮГНБЮМХЕ
яХМРЮЙЯХЯ: RewriteCond яПЮБМХБЮЕЛЮЪяРПНЙЮсЯКНБХЕ
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: None
йНМРЕЙЯР: server configvirtual hostdirectory.htaccess
пЮГПЕЬЕМХЕ: FileInfo
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

дХПЕЙРХБЮ RewriteCond НОПЕДЕКЪЕР СЯКНБХЪ ДКЪ ЙЮЙНЦН-КХАН ОПЮБХКЮ. оЕПЕД ДХПЕЙРХБНИ RewriteRule ПЮЯОНКЮЦЮЧРЯЪ НДМЮ ХКХ МЕЯЙНКЭЙН ДХПЕЙРХБ RewriteCond. яКЕДСЧЫЕЕ ГЮ═МХЛХ ОПЮБХКН ОПЕНАПЮГНБЮМХЪ ХЯОНКЭГСЕРЯЪ РНКЭЙН РНЦДЮ, ЙНЦДЮ URI ЯННРБЕРЯРБСЕР СЯКНБХЪЛ ЩРНИ ДХПЕЙРХБШ Х РЮЙФЕ СЯКНБХЪЛ ЩРХУ ДНОНКХРЕКЭМШУ ДХПЕЙРХБ.

яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯРПНЙЮ ЙНРНПЮЪ ЛНФЕР ЯНДЕПФЮРЭ ЯКЕДСЧЫХЕ ДНОНКМХРЕКЭМШЕ ЙНМЯРПСЙЖХХ Б═ДНОНКЕМХХ Й═ОПНЯРНЛС РЕЙЯРС:

яОЕЖХЮКЭМШЕ ОПХЛЕВЮМХЪ:

  1. оЕПЕЛЕММШЕ SCRIPT_FILENAME Х═REQUEST_FILENAME ЯНДЕПФЮР НДХМЮЙНБШЕ ГМЮВЕМХЪ, Р.Е., ГМЮВЕМХЕ ОНКЪ filename БМСРПЕММЕИ ЯРПСЙРСПШ request_rec ЯЕПБЕПЮ Apache. оЕПБНЕ ХЛЪ ЩРН ОПНЯРН ЬХПНЙН ХГБЕЯРМНЕ ХЛЪ ОЕПЕЛЕММНИ CGI Б═РН═БПЕЛЪ ЙЮЙ БРНПНЕ ЩРН ОНЯРНЪММЮЪ ЙНОХЪ REQUEST_URI (ЯНДЕПФЮЫЮЪ ГМЮВЕМХЕ ОНКЪ uri ЯРПСЙРСПШ request_rec).
  2. еЯРЭ ЯОЕЖХЮКЭМШИ ТНПЛЮР: %{ENV:ОЕПЕЛЕММЮЪ} ЦДЕ ОЕПЕЛЕММЮЪ ЛНФЕР АШРЭ КЧАНИ ОЕПЕЛЕММНИ НЙПСФЕМХЪ. щРН ХЫЕРЯЪ БН═БМСРПЕММХУ ЯРПСЙРСПЮУ Apache Х═(ЕЯКХ РЮЛ МЕР) Я═ОНЛНЫЭЧ БШГНБЮ getenv() ХГ═ОПНЖЕЯЯЮ Apache ЯЕПБЕПЮ.
  3. еЯРЭ ЯОЕЖХЮКЭМШИ ТНПЛЮР: %{HTTP:ГЮЦНКНБНЙ} ЦДЕ ГЮЦНКНБНЙ ЛНФЕР АШРЭ КЧАШЛ ХЛЕМЕЛ HTTP MIME-ГЮЦНКНБЙЮ. щРН ХЫЕРЯЪ Б═HTTP ГЮОПНЯЕ. оПХЛЕП: %{HTTP:Proxy-Connection} ГМЮВЕМХЕ HTTP ГЮЦНКНБЙЮ ╚Proxy-Connection:╩.
  4. еЯРЭ ЯОЕЖХЮКЭМШИ ТНПЛЮР %{LA-U:ОЕПЕЛЕММЮЪ} НОЕПЕФЮЧЫХУ ГЮОПНЯНБ ЙНРНПШЕ ОПНХГБНДЪРЯЪ БМСРПЕММХЛ (НЯМНБЮММНЛ МЮ═URL) ОНДГЮОПНЯНЛ ДКЪ НОПЕДЕКЕМХЪ ЙНМЕВМНЦН ГМЮВЕМХЪ ОЕПЕЛЕММНИ. хЯОНКЭГСИРЕ ЩРН ЙНЦДЮ БШ═УНРХРЕ ХЯОНКЭГНБЮРЭ ОЕПЕЛЕММСЧ ДКЪ ОПЕНАПЮГНБЮМХИ, ЙНРНПЮЪ ПЕЮКЭМН НОПЕДЕКЪЕРЯЪ ОНГДМЕЕ, Б═ ЙЮЙНИ-КХАН ТЮГЕ API, Х═РЮЙХЛ НАПЮГНЛ МЕДНЯРСОМЮ МЮ═ДЮММНЛ ЩРЮОЕ. дКЪ ОПХЛЕПЮ ЙНЦДЮ БШ═УНРХРЕ ОПЕНАПЮГНБЮРЭ ЯННРБЕРЯРБЕММН ОЕПЕЛЕММНИ REMOTE_USER ХГ═ЙНМРЕЙЯРЮ ЯЕПБЕПЮ (ТЮИК httpd.conf) БШ═ДНКФМШ ХЯОНКЭГНБЮРЭ %{LA-U:REMOTE_USER} ОНРНЛС ВРН ЩРЮ ОЕПЕЛЕММЮЪ СЯРЮМЮБКХБЮЕРЯЪ Б═ТЮГЮУ ЮБРНПХГЮЖХХ ЙНРНПШЕ ХДСР ОНЯКЕ ТЮГШ РПЮМЯКЪЖХХ URL Б═ЙНРНПНИ Х═ПЮАНРЮЕР mod_rewrite. я═ДПСЦНИ ЯРНПНМШ, ОН═ОПХВХМЕ ПЕЮКХГЮЖХХ ПЮАНРШ mod_rewrite Б═ ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ (ТЮИК .htaccess) ВЕПЕГ Fixup ТЮГС API Х═ХГ-ГЮ РНЦН, ТЮГШ ЮБРНПХГЮЖХХ ХДСР ДН ЩРНИ ТЮГШ, БШ═ОПНЯРН ЛНФЕРЕ РЮЛ ХЯОНКЭГНБЮРЭ %{REMOTE_USER}.
  5. еЯРЭ ЯОЕЖХЮКЭМШИ ТНПЛЮР: %{LA-F:ОЕПЕЛЕММЮЪ} ЙНРНПШИ ЯНГДЮЕР БМСРПЕММХИ (НЯМНБЮММШИ МЮ═ХЛЕМХ ТЮИКЮ) ОНДГЮОПНЯ ДКЪ НОПЕДЕКЕМХЪ ЙНМЕВМНЦН ГМЮВЕМХЪ ОЕПЕЛЕММНИ. б═НЯМНБМНЛ ЩРН РН═ФЕ═ЯЮЛНЕ ВРН Х═ТНПЛЮР LA-U ОПХБЕДЕММШИ БШЬЕ.

сЯКНБХЕ ЩРН ЬЮАКНМ СЯКНБХЪ, Р.Е., ЙЮЙНЕ-КХАН ПЕЦСКЪПМНЕ БШПЮФЕМХЕ ОПХЛЕМЪЕЛНЕ Й═РЕЙСЫЕЛС ЩЙГЕЛОКЪПС яПЮБМХБЮЕЛЮЪяРПНЙЮ, Р.Е., яПЮБМХБЮЕЛЮЪяРПНЙЮ ОПНЯЛЮРПХБЮЕРЯЪ МЮ═ОНХЯЙ ЯННРБЕРЯРБХЪ сЯКНБХЕ.

оНЛМХРЕ: сЯКНБХЕ ЩРН perl ЯНБЛЕЯРХЛНЕ ПЕЦСКЪПМНЕ БШПЮФЕМХЕ Я═МЕЙНРНПШЛХ ДНОНКМЕМХЪЛХ:

  1. бШ═ЛНФЕРЕ ОПЕДБЮПЪРЭ ЯРПНЙС ЬЮАКНМЮ ОПЕТХЙЯНЛ '!' (БНЯЙКХЖЮРЕКЭМШИ ГМЮЙ) ДКЪ СЙЮГЮМХЪ МЕЯННРБЕРЯРБХЪ ЬЮАКНМС.
  2. еЯРЭ МЕЙНРНПШЕ ЯОЕЖХЮКЭМШЕ БЮПХЮМРШ сЯКНБХЕs. бЛЕЯРН НАШВМШУ ЯРПНЙ Я═ПЕЦСКЪПМШЛХ БШПЮФЕМХЪЛХ ЛНФМН РЮЙФЕ ХЯОНКЭГНБЮРЭ НДХМ ХГ═ЯКЕДСЧЫХУ БЮПХЮМРНБ:
    • '<сЯКНБХЕ' (КЕЙЯХВЕЯЙХ ЛЕМЭЬЕ)
      сЯКНБХЕ ЯВХРЮЕРЯЪ ОПНЯРНИ ЯРПНЙНИ Х═ КЕЙЯХВЕЯЙХ ЯПЮБМХБЮЕРЯЪ Я═яПЮБМХБЮЕЛЮЪяРПНЙЮ. хЯРХММН ЕЯКХ яПЮБМХБЮЕЛЮЪяРПНЙЮ КЕЙЯХВЕЯЙХ ЛЕМЭЬЕ ВЕЛ сЯКНБХЕ.
    • '>сЯКНБХЕ' (КЕЙЯХВЕЯЙХ АНКЭЬЕ)
      сЯКНБХЕ ЯВХРЮЕРЯЪ ОПНЯРНИ ЯРПНЙНИ Х═ КЕЙЯХВЕЯЙХ ЯПЮБМХБЮЕРЯЪ Я═яПЮБМХБЮЕЛЮЪяРПНЙЮ. хЯРХММН ЕЯКХ яПЮБМХБЮЕЛЮЪяРПНЙЮ КЕЙЯХВЕЯЙХ АНКЭЬЕ ВЕЛ сЯКНБХЕ.
    • '=сЯКНБХЕ' (КЕЙЯХВЕЯЙХ ПЮБМН)
      сЯКНБХЕ ЯВХРЮЕРЯЪ ОПНЯРНИ ЯРПНЙНИ Х═КЕЙЯХВЕЯЙХ ЯПЮБМХБЮЕРЯЪ Я═яПЮБМХБЮЕЛЮЪяРПНЙЮ. хЯРХММН ЕЯКХ яПЮБМХБЮЕЛЮЪяРПНЙЮ КЕЙЯХВЕЯЙХ ПЮБМН сЯКНБХЕ, Р.Е. ЩРХ ДБЕ ЯРПНЙХ ОНКМНЯРЭЧ НДХМЮЙНБШ (ЯХЛБНК Б═ЯХЛБНК). еЯКХ сЯКНБХЕ ХЛЕЕР БХД "" (ДБЮ ГМЮЙЮ ДЧИЛЮ ХДСЫХУ ОНДПЪД) ЩРН ЯПЮБМХБЮЕР яПЮБМХБЮЕЛЮЪяРПНЙЮ Я═ОСЯРНИ ЯРПНЙНИ.
    • '-d' (ЪБКЪЕРЯЪ КХ═ЙЮРЮКНЦНЛ)
      яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯВХРЮЕРЯЪ ОСРЕЛ, ОПНБЕПЪЕРЯЪ ЯСЫЕЯРБНБЮМХЕ ЩРНЦН ОСРХ Х═РН═ВРН ЩРНР ОСРЭ ЪБКЪЕРЯЪ ЙЮРЮКНЦНЛ.
    • '-f' (ЪБКЪЕРЯЪ КХ═НАШВМШЛ ТЮИКНЛ)
      яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯВХРЮЕРЯЪ ОСРЕЛ, ОПНБЕПЪЕРЯЪ ЯСЫЕЯРБНБЮМХЕ ЩРНЦН ОСРХ Х═РН═ВРН ЩРНР ОСРЭ ЪБКЪЕРЯЪ НАШВМШЛ ТЮИКНЛ.
    • '-s' (ЪБКЪЕРЯЪ КХ═НАШВМШЛ ТЮИКНЛ Я═МЕМСКЕБШЛ ПЮГЛЕПНЛ)
      яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯВХРЮЕРЯЪ ОСРЕЛ, ОПНБЕПЪЕРЯЪ ЯСЫЕЯРБНБЮМХЕ ЩРНЦН ОСРХ Х═РН═ВРН ЩРНР ОСРЭ ЪБКЪЕРЯЪ НАШВМШЛ ТЮИКНЛ, ПЮГЛЕП ЙНРНПНЦН АНКЭЬЕ МСКЪ.
    • '-l' (ЪБКЪЕРЯЪ КХ═ЯХЛБНКХВЕЯЙНИ ЯЯШКЙНИ)
      яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯВХРЮЕРЯЪ ОСРЕЛ, ОПНБЕПЪЕРЯЪ ЯСЫЕЯРБНБЮМХЕ ЩРНЦН ОСРХ Х═РН═ВРН ЩРНР ОСРЭ ЪБКЪЕРЯЪ ЯХЛБНКХВЕЯЙНИ ЯЯШКЙНИ.
    • '-F' (ОПНБЕПЙЮ ЯСЫЕЯРБНБЮМХЪ ТЮИКЮ ВЕПЕГ ОНДГЮОПНЯ)
      оПНБЕПЪЕР ВЕПЕГ БЯЕ ЯОХЯЙХ ЙНМРПНКЪ ДНЯРСОЮ ЯЕПБЕПЮ, ЯСЫЕЯРБСЧЫХЕ Б═МЮЯРНЪЫХИ ЛНЛЕМР, ЪБКЪЕРЯЪ КХ═яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯСЫЕЯРБСЧЫХЛ ТЮИКНЛ, ДНЯРСОМШЛ ОН═ЩРНЛС ОСРХ. дКЪ ЩРНИ ОПНБЕПЙХ ХЯОНКЭГСЕРЯЪ БМСРПЕММХИ ОНДГЮОПНЯ, ОНЩРНЛС ХЯОНКЭГСИРЕ ЩРС НОЖХЧ Я═НЯРНПНФМНЯРЭЧ ═≈ ЩРН НРПХЖЮРЕКЭМН ЯЙЮГШБЮЕРЯЪ МЮ═ОПНХГБНДХРЕКЭМНЯРХ ЯЕПБЕПЮ!
    • '-U' (ОПНБЕПЙЮ ЯСЫЕЯРБНБЮМХЪ URL ВЕПЕГ ОНДГЮОПНЯ)
      оПНБЕПЪЕР ВЕПЕГ БЯЕ ЯОХЯЙХ ЙНМРПНКЪ ДНЯРСОЮ ЯЕПБЕПЮ, ЯСЫЕЯРБСЧЫХЕ Б═МЮЯРНЪЫХИ ЛНЛЕМР, ЪБКЪЕРЯЪ КХ═яПЮБМХБЮЕЛЮЪяРПНЙЮ ЯСЫЕЯРБСЧЫХЛ URL, ДНЯРСОМШЛ ОН═ЩРНЛС ОСРХ. дКЪ ЩРНИ ОПНБЕПЙХ ХЯОНКЭГСЕРЯЪ БМСРПЕММХИ ОНДГЮОПНЯ, ОНЩРНЛС ХЯОНКЭГСИРЕ ЩРС НОЖХЧ Я═НЯРНПНФМНЯРЭЧ ═≈ ЩРН НРПХЖЮРЕКЭМН ЯЙЮГШБЮЕРЯЪ МЮ═ОПНХГБНДХРЕКЭМНЯРХ ЯЕПБЕПЮ!

    гЮЛЕВЮМХЕ

    бЯЕ ЩРХ ОПНБЕПЙХ РЮЙФЕ ЛНЦСР АШРЭ ОПЕДБЮПЕМШ ОПЕТХЙЯНЛ БНЯЙКХЖЮРЕКЭМШИ ГМЮЙ ('!') ДКЪ ХМБЕПРХПНБЮМХЪ ХУ═ГМЮВЕМХЪ.

дНОНКМХРЕКЭМН БШ═ЛНФЕРЕ СЯРЮМЮБКХБЮРЭ ЯОЕЖХЮКЭМШЕ ТКЮЦХ ДКЪ сЯКНБХЕ ДНАЮБКЪЪ

[flags]

РПЕРЭХЛ ЮПЦСЛЕМРНЛ Б═ДХПЕЙРХБС RewriteCond. Flags ЯОХЯНЙ ЯКЕДСЧЫХУ ТКЮЦНБ ПЮГДЕКЕММШУ ГЮОЪРШЛХ:

оПХЛЕП:

дКЪ БШДЮВХ ЦКЮБМНИ ЯРПЮМХЖШ ЙЮЙНЦН-КХАН ЯЮИРЮ ЯНЦКЮЯМН ╚User-Agent:╩ ГЮЦНКНБЙС ГЮОПНЯЮ, БШ═ЛНФЕРЕ ХЯОНКЭГНБЮРЭ ЯКЕДСЧЫХЕ ДХПЕЙРХБШ:

RewriteCond  %{HTTP_USER_AGENT}  ^Mozilla.*
RewriteRule  ^/$                 /homepage.max.html  [L]

RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
RewriteRule  ^/$                 /homepage.min.html  [L]

RewriteRule  ^/$                 /homepage.std.html  [L]

хМРЕПОПЕРЮЖХЪ: еЯКХ С═БЮЯ Netscape Navigator (ЙНРНПШИ ХДЕМРХТХЖХПСЕРЯЪ ЙЮЙ 'Mozilla'), БШ═БШДЮЕРЕ ЛЮЙЯХЛЮКЭМН МЮБНПНВЕММСЧ ЯРПЮМХЖС, Я═ТПЕИЛЮЛХ, Х═Р.Д. еЯКХ С═БЮЯ Lynx (РЕЙЯРНБШИ АПЮСГЕП), БШ═БШДЮЕРЕ МЮХЛЕМЕЕ МЮБНПНВЕММСЧ ЯРПЮМХЖС, АЕГ ПХЯСМЙНБ, РЮАКХЖ Х═Р.Д. еЯКХ КЧАНИ ДПСЦНИ АПЮСГЕП, БШДЮЕРЕ ЯРЮМДЮПРМСЧ ЯРПЮМХЖС.

RewriteEngine дХПЕЙРХБЮ

нОХЯЮМХЕ: бЙКЧВЮЕР ХКХ БШЙКЧВЮЕР ПЮАНРС ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХЪ
яХМРЮЙЯХЯ: RewriteEngine on|off
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: RewriteEngine off
йНМРЕЙЯР: server configvirtual hostdirectory.htaccess
пЮГПЕЬЕМХЕ: FileInfo
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

дХПЕЙРХБЮ RewriteEngine БЙКЧВЮЕР ХКХ БШЙКЧВЮЕР ПЮАНРС ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ. еЯКХ НМЮ СЯРЮМНБКЕМЮ Б═ОНКНФЕМХЕ off ЩРНР ЛНДСКЭ ЯНБЯЕЛ МЕ═ПЮАНРЮЕР. нМ═ДЮФЕ МЕ═НАМНБКЪЕР ОЕПЕЛЕММШЕ НЙПСФЕМХЪ SCRIPT_URx.

хЯОНКЭГСИРЕ ЩРС ДХПЕЙРХБС ДКЪ БШЙКЧВЕМХЪ ЩРНЦН ЛНДСКЪ БЛЕЯРН ОПНЯРНЦН ГЮЙНЛЛЕМРХПНБЮМХЪ ДХПЕЙРХБ RewriteRule!

нРЛЕРЭРЕ, ВРН ОН-СЛНКВЮМХЧ, МЮЯРПНИЙХ ОПЕНАПЮГНБЮМХИ МЕ═ МЮЯКЕДСЧРЯЪ. щРН НГМЮВЮЕР ВРН БШ═ДНКФМШ ХЛЕРЭ RewriteEngine on ДХПЕЙРХБС ДКЪ ЙЮФДНЦН БХПРСЮКЭМНЦН УНЯРЮ Б═ЙНРНПНЛ БШ═УНРХРЕ ХЯОНКЭГНБЮРЭ ЩРНР ЛНДСКЭ.

RewriteLock дХПЕЙРХБЮ

нОХЯЮМХЕ: сЯРЮМЮБКХБЮЕР ХЛЪ ТЮИКЮ ХЯОНКЭГСЕЛНЦН ДКЪ RewriteMap ЯХМУПНМХГЮЖХХ
яХМРЮЙЯХЯ: RewriteLock file-path
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: None
йНМРЕЙЯР: server config
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

щРЮ ДХПЕЙРХБЮ НОПЕДЕКЪЕР ХЛЪ ТЮИКЮ ЯХМУПНМХГЮЖХХ ЙНРНПШИ МСФЕМ mod_rewrite ДКЪ ЯБЪГХ Я═RewriteMap ОПНЦПЮЛЛЮЛХ. яДЕКЮИРЕ ЩРНР ТЮИК КНЙЮКЭМШЛ (ПЮГЛЕЫЕММШЛ МЕ═МЮ═ NFS-ЯЛНМРХПНБЮММНЛ ПЕЯСПЯЕ) ЙНЦДЮ БШ═УНРХРЕ ХЯОНКЭГНБЮРЭ ОПНЦПЮЛЛС ДКЪ ЯНГДЮМХЪ ЮЯЯНЖХЮРХБМНЦН ЛЮЯЯХБЮ ОПЕНАПЮГНБЮМХИ. щРН МЕ═ЪБКЪЕРЯЪ НАЪГЮРЕКЭМШЛ ДКЪ ДПСЦХУ РХОНБ РЮЙХУ ЛЮЯЯХБНБ.

RewriteLog дХПЕЙРХБЮ

нОХЯЮМХЕ: сЯРЮМЮБКХБЮЕР ХЛЪ ТЮИКЮ ХЯОНКЭГСЕЛНЕ ДКЪ БЕДЕМХЪ ФСПМЮКЮ ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХЪ
яХМРЮЙЯХЯ: RewriteLog file-path
йНМРЕЙЯР: server configvirtual host
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

дХПЕЙРХБЮ RewriteLog СЯРЮМЮБКХБЮЕР ХЛЪ ТЮИКЮ Ю═ЙНРНПНЛ ЯЕПБЕП БЕДЕР ФСПМЮК КЧАШУ ОПНХЯУНДЪЫХУ ДЕИЯРБХИ ОН═ОПЕНАПЮГНБЮМХЪЛ URL. еЯКХ ЩРН ХЛЪ МЕ═МЮВХМЮЕРЯЪ ЯН═ЯКЩЬЮ ('/') Б═ЩРНЛ ЯКСВЮЕ ОСРЭ ЯВХРЮЕРЯЪ НР═ Server Root. б═ЙНМТХЦСПЮЖХНММНЛ ТЮИКЕ ЯЕПБЕПЮ ЩРЮ ДХПЕЙРХБЮ ДНКФМЮ БЯРЕПВЮРЭЯЪ РНКЭЙН НДХМ ПЮГ.

дКЪ НРЙКЧВЕМХЪ БЕДЕМХЪ ФСПМЮКЮ ОПЕНАПЮГНБЮМХИ МЕ═ПЕЙНЛЕМДСЕРЯЪ СЯРЮМЮБКХБЮРЭ Filename Б═/dev/null, ОНРНЛС ВРН УНРЪ ЛЕУЮМХГЛ ОПЕНАПЮГНБЮМХИ Х═МЕ═ОПНХГБНДХР БШБНД Б═ТЮИК ФСПМЮКЮ Б═ЩРНЛ ЯКСВЮЕ, БМСРПХ НМ═БЯЕ ЕЫ╦ БЕДЕР ФСПМЮКХГЮЖХЧ. щРН ГЮЛЕДКХР ЯЕПБЕП АЕГ ЙЮЙХУ-КХАН ОПЕХЛСЫЕЯРБ ДКЪ ЮДЛХМХЯРПЮРНПЮ! дКЪ НРЙКЧВЕМХЪ БЕДЕМХЪ ФСПМЮКЮ КХАН СДЮКХРЕ КХАН ГЮЙНЛЛЕМРХПСИРЕ ДХПЕЙРХБС RewriteLog КХАН ХЯОНКЭГСИРЕ RewriteLogLevel 0!

аЕГНОЮЯМНЯРЭ

яЛНРПХРЕ ДНЙСЛЕМР Apache Security Tips ДКЪ АНКЕЕ ОНДПНАМНИ ХМТНПЛЮЖХХ Н═РНЛ ОНВЕЛС БШ═ЛНФЕРЕ АШРЭ СЪГБХЛШ ЕЯКХ Б═ЙЮРЮКНЦХ ЦДЕ УПЮМЪРЯЪ ТЮИКШ ФСПМЮКНБ ПЮГПЕЬЕМЮ ГЮОХЯЭ ЙНЛС СЦНДМН ЙПНЛЕ ОНКЭГНБЮРЕКЪ НР═ХЛЕМХ ЙНРНПНЦН ГЮОСЯЙЮЕРЯЪ ЯЕПБЕП.

оПХЛЕП

RewriteLog "/usr/local/var/apache/logs/rewrite.log"

RewriteLogLevel дХПЕЙРХБЮ

нОХЯЮМХЕ: сЯРЮМЮБКХБЮЕР СПНБЕМЭ ДЕРЮКХГЮЖХХ ОПХ ФСПМЮКХГЮЖХХ ДЕИЯРБХИ ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ
яХМРЮЙЯХЯ: RewriteLogLevel Level
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: RewriteLogLevel 0
йНМРЕЙЯР: server configvirtual host
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

дХПЕЙРХБЮ RewriteLogLevel СЯРЮМЮБКХБЮЕР СПНБЕМЭ ДЕРЮКХГЮЖХХ ФСПМЮКЮ ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ. оН-СЛНКВЮМХЧ СПНБЕМЭ 0═ НГМЮВЮЧЫХИ ВРН ФСПМЮКХГЮЖХЪ МЕ═БЕДЕРЯЪ, Б═РН═БПЕЛЪ ЙЮЙ 9═ХКХ АНКЕЕ НГМЮВЮЕР ВРН ГЮОХЯШБЮЧРЯЪ ОПЮЙРХВЕЯЙХ БЯЕ ДЕИЯРБХЪ.

дКЪ НРЙКЧВЕМХЪ ФСПМЮКХГЮЖХХ ДЕИЯРБХИ ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ ОПНЯРН СЯРЮМНБХРЕ СПНБЕМЭ МЮ═0.═щРН НРЙКЧВЮЕР БЕДЕМХЕ ФСПМЮКЮ ДКЪ БЯЕУ ДЕИЯРБХИ ОН═ОПЕНАПЮГНБЮМХЪЛ.

хЯОНКЭГНБЮМХЕ АНКЭЬХУ ГМЮВЕМХИ СПНБМЪ НВЕМЭ ЯХКЭМН ГЮЛЕДКХР БЮЬ ЯЕПБЕП Apache! хЯОНКЭГСИРЕ ФСПМЮК ОПЕНАПЮГНБЮМХИ МЮ═ СПНБМЕ АНКЭЬЕЛ ВЕЛ 2═РНКЭЙН ДКЪ НРКЮДНВМШУ ЖЕКЕИ!

оПХЛЕП

RewriteLogLevel 3

RewriteMap дХПЕЙРХБЮ

нОХЯЮМХЕ: нОПЕДЕКЪЕР ТСМЙЖХЧ ЯНГДЮМХЪ ЮЯЯНЖХЮРХБМНЦН ЛЮЯЯХБЮ ДКЪ ОНХЯЙЮ ОН═ЙКЧВС
яХМРЮЙЯХЯ: RewriteMap MapNameMapType:MapSource
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: МЕР
йНМРЕЙЯР: server configvirtual host
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite
яНБЛЕЯРХЛНЯРЭ: бШАНП ПЮГМШУ РХОНБ dbm ДНЯРСОЕМ Б═Apache 2.0.41═Х═АНКЕЕ ОНГДМХУ БЕПЯХЪУ

дХПЕЙРХБЮ RewriteMap ЮЯЯНЖХЮРХБМШИ ЛЮЯЯХБ ОПЕНАПЮГНБЮМХИ, ЙНРНПШИ ЛНФЕР АШРЭ ХЯОНКЭГНБЮМ Б═ОПЮБХКЮУ ОПЕНАПЮГНБЮМХИ Х═ХЯОНКЭГСЧЫХИ ЯННРБЕРЯРБСЧЫХЕ ТСМЙЖХХ ДКЪ БЯРЮБЙХ/ХГБКЕВЕМХЪ ЩКЕЛЕМРНБ, ДКЪ ОНХЯЙЮ ОН═ЙКЧВС ЯННРБЕРЯРБСЧЫХУ ГМЮВЕМХИ. хЯРНВМХЙ ЩРНЦН ОНХЯЙЮ ЛНФЕР ХЛЕРЭ ПЮГКХВМШИ РХО.

MapName ЩРН ХЛЪ ЛЮЯЯХБЮ ЙНРНПНЕ АСДЕР ХЯОНКЭГНБЮРЭЯЪ ДКЪ ОНХЯЙЮ ЯННРБЕРЯРБСЧЫЕЦН ГМЮВЕМХЪ ХГ═ЛЮЯЯХБЮ Б═ОПЮБХКЕ ОПЕНАПЮГНБЮМХЪ ВЕПЕГ НДХМ ХГ═ЯКЕДСЧЫХУ ЙНМЯРПСЙРНПНБ:

${MapName:LookupKey}
${MapName:LookupKey|DefaultValue}

йНЦДЮ БЯРПЕВЮЕРЯЪ ОНДНАМЮЪ ЙНМЯРПСЙЖХЪ, ОПНХЯУНДХР НАПЮЫЕМХЕ Й═ ЛЮЯЯХБС MapName Х═ОНХЯЙ ГМЮВЕМХЪ ЯНОНЯРЮБКЕММНЦН ЙКЧВС LookupKey. еЯКХ МЮИДЕМН ХЯЙНЛНЕ ГМЮВЕМХЕ ЙКЧВЮ, ОПНХЯУНДХР ХГБКЕВЕМХЕ ГМЮВЕМХЪ SubstValue Я═ОНЛНЫЭЧ ЯННРБЕРЯРБСЧЫЕИ ТСМЙЖХХ. еЯКХ ЙКЧВ МЕ═МЮИДЕМ РНЦДЮ ОПНХЯУНДХР ОНДЯРЮМНБЙЮ DefaultValue ХКХ ОСЯРНИ ЯРПНЙХ ЕЯКХ МЕ═СЙЮГЮМЮ DefaultValue.

лНЦСР АШРЭ ХЯОНКЭГНБЮМШ ЯКЕДСЧЫХЕ ЙНЛАХМЮЖХХ РХОЮ ТСМЙЖХХ═≈ MapType ДКЪ БЯРЮБЙХ/ХГБКЕВЕМХЪ ЩКЕЛЕМРНБ ЛЮЯЯХБЮ Х═ MapSource═≈ ЯЮЛНЦН ЮЯЯНЖХЮРХБМНЦН ЛЮЯЯХБЮ:

дХПЕЙРХБЮ RewriteMap ЛНФЕР БЯРПЕВЮРЭЯЪ АНКЕЕ НДМНЦН ПЮГЮ. дКЪ ЙЮФДНЦН ЛЮЯЯХБЮ ХЯОНКЭГСИРЕ НДМС RewriteMap ДХПЕЙРХБС ДКЪ НАЗЪБКЕМХЪ ТЮИКЮ Я═ЛЮЯЯХБНЛ ОПЕНАПЮГНБЮМХИ. б═РН═БПЕЛЪ ЙЮЙ БШ═МЕ═ЛНФЕРЕ НОПЕДЕКЪРЭ ЛЮЯЯХБ Б═ЙНМРЕЙЯРЕ ЙЮРЮКНЦЮ, ЕЦН ХЯОНКЭГНБЮМХЕ Б═ЩРНЛ ЙНМРЕЙЯРЕ ЙНМЕВМН ФЕ═БНГЛНФМН.

гЮЛЕВЮМХЕ

дКЪ ОПНЯРНЦН РЕЙЯРНБНЦН Х═DBM ТЮИКНБ ЙКЧВХ ОНХЯЙЮ ЙЩЬХПСЧРЯЪ ЪДПНЛ ДН═РЕУ ОНП ОНЙЮ МЕ═ХГЛЕМХРЯЪ РХО mtime ТЮИКЮ Я═ЛЮЯЯХБНЛ ХКХ ОНЙЮ МЕ═ОПНХГНИДЕР ПЕЯРЮПР ЯЕПБЕПЮ. рЮЙХЛ НАПЮГНЛ, БШ═ЛНФЕРЕ ХЯОНКЭГНБЮРЭ ЮЯЯНЖХЮРХБМШЕ ЛЮЯЯХБШ Б═ОПЮБХКЮУ ЙНРНПШЕ ХЯОНКЭГСЧРЯЪ ДКЪ ЙЮФДНЦН ГЮОПНЯЮ. щРН МЕ═ОПНАКЕЛЮ, ОНРНЛС ВРН БМЕЬМХИ ОНХЯЙ ОПНХЯУНДХР РНКЭЙН НДХМ ПЮГ!

RewriteOptions дХПЕЙРХБЮ

нОХЯЮМХЕ: сЯРЮМЮБКХБЮЕР ЙНЕ-ЙЮЙХЕ ЯОЕЖХЮКЭМШЕ НОЖХХ ДКЪ ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ
яХМРЮЙЯХЯ: RewriteOptions Options
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: None
йНМРЕЙЯР: server configvirtual hostdirectory.htaccess
пЮГПЕЬЕМХЕ: FileInfo
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite

дХПЕЙРХБЮ RewriteOptions СЯРЮМЮБКХБЮЕР МЕЙНРНПШЕ ЯОЕЖХЮКЭМШЕ НОЖХХ ДКЪ РЕЙСЫЕИ ЙНМТХЦСПЮЖХХ Б═ЙНМРЕЙЯРЕ ЯЕПБЕПЮ ХКХ ЙЮРЮКНЦЮ. яРПНЙХ Option ЛНЦСР ХЛЕРЭ ЯКЕДСЧЫХИ БХД:

RewriteRule дХПЕЙРХБЮ

нОХЯЮМХЕ: нОПЕДЕКЪЕР ОПЮБХКЮ ДКЪ ЛЕУЮМХГЛЮ ОПЕНАПЮГНБЮМХИ
яХМРЮЙЯХЯ: RewriteRule ьЮАКНМоНДЯРЮМНБЙЮ
гМЮВЕМХЕ ОН СЛНКВЮМХЧ: None
йНМРЕЙЯР: server configvirtual hostdirectory.htaccess
пЮГПЕЬЕМХЕ: FileInfo
яРЮРСЯ: пЮЯЬХПЕМХЕ
лНДСКЭ: mod_rewrite
яНБЛЕЯРХЛНЯРЭ: тКЮЦ cookie ДНЯРСОЕМ Б═Apache 2.0.40═Х═АНКЕЕ ОНГДМХУ.

дХПЕЙРХБЮ RewriteRule Х═ЕЯРЭ МЮЯРНЪЫЮЪ ПЮАНВЮЪ КНЬЮДЙЮ ОПЕНАПЮГНБЮМХИ. щРЮ ДХПЕЙРХБЮ ЛНФЕР БЯРПЕВЮРЭЯЪ АНКЕЕ НДМНЦН ПЮГЮ. йЮФДЮЪ ДХПЕЙРХБЮ, Б═ЩРНЛ ЯКСВЮЕ, НОПЕДЕКЪЕР НДМН ОПЮБХКН ОПЕНАПЮГНБЮМХЪ. оНПЪДНЙ НОПЕДЕКЕМХИ ЩРХУ ОПЮБХК БЮФЕМ, ОНРНЛС ВРН ЩРНР ОНПЪДНЙ ХЯОНКЭГСЕРЯЪ ОПХ НАПЮАНРЙЕ ОПЮБХК БН═БПЕЛЪ ПЮАНРШ.

ьЮАКНМ ЩРН perl ЯНБЛЕЯРХЛНЕ ПЕЦСКЪПМНЕ БШПЮФЕМХЕ ЙНРНПНЕ ОПХЛЕМЪЕРЯЪ Й═РЕЙСЫЕЛС URL. гДЕЯЭ ОНД ╚РЕЙСЫХЛ╩ ОНДПЮГСЛЕБЮЕРЯЪ ГМЮВЕМХЕ URL ЙНЦДЮ ОПХЛЕМЪЕРЯЪ ЩРН ОПЮБХКН. щРНР URL МЕ═НАЪГЮРЕКЭМН ЯНБОЮДЮЕР Я═ОЕПБНМЮВЮКЭМН ГЮОПНЬЕММШЛ URL, ОНРНЛС ВРН КЧАНЕ ЙНКХВЕЯРБН ОПЮБХК БНГЛНФМН СФЕ АШКХ ОПХЛЕМЕМШ Й═МЕЛС Х═ ЯННРБЕРЯРБЕММН ОПЕНАПЮГНБЮКХ ЕЦН.

мЕЙНРНПШЕ СЙЮГЮМХЪ ОН═ЯХМРЮЙЯХЯС ПЕЦСКЪПМШУ БШПЮФЕМХИ:

рЕЙЯР:
  .           кЧАНИ НДХМНВМШИ ЯХЛБНК
  [chars]     йКЮЯЯ ЯХЛБКНКБ: нДХМ ХГ ЯХЛБНКНБ
  [^chars]    йКЮЯЯ ЯХЛБКНКБ: мХ НДХМ ХГ ЯХЛБНКНБ
  text1|text2 юКЭРЕПМЮРХБЮ: text1 ХКХ text2

йБЮМРНПШ (ЯХЛБНКШ ДКЪ НАНГМЮВЕМХЪ ЙНКХВЕЯРБЕММШУ НРМНЬЕМХИ):
  ?           0 ХКХ 1 ХГ ОПЕДЬЕЯРБСЧЫЕЦН РЕЙЯРЮ
  *           0 ХКХ N ХГ ОПЕДЬЕЯРБСЧЫЕЦН РЕЙЯРЮ (N > 0)
  +           1 ХКХ N ХГ ОПЕДЬЕЯРБСЧЫЕЦН РЕЙЯРЮ (N > 1)

цПСООХПНБЙЮ:
  (text)      цПСООХПНБЙЮ РЕЙЯРЮ
              (КХАН СЯРЮМНБЙЮ ЦПЮМХЖ ЮКЭРЕПМЮРХБШ ХКХ
              ДКЪ ЯНГДЮМХЪ НАПЮРМШУ ЯБЪГЕИ ЦДЕ N ЦПСООЮ, ЙНРНПЮЪ 
              ЛНФЕР АШРЭ ХЯОНКЭГНБЮМЮ Б RHS ДХПЕЙРХБШ RewriteRule Я $N)

лЮПЙЕПШ:
  ^           лЮПЙЕП МЮВЮКЮ ЯРПНЙХ
  $           лЮПЙЕП ЙНМЖЮ ЯРПНЙХ

щЙПЮМХПНБЮМХЕ:
  \char       ЩЙПЮМХПНБЮМХЕ ЙНМЙПЕРМНЦН ЯХЛБНКЮ
              (Й ОПХЛЕПС ДКЪ СЙЮГЮМХЪ ЯХЛБНКНБ ".[]()" Х Р.Д.)

аНКЕЕ ОНДПНАМСЧ ХМТНПЛЮЖХЧ Н═ПЕЦСКЪПМШУ БШПЮФЕМХЪУ, ЯЛНРПХРЕ Б═ ДНЙСЛЕМРЮЖХХ ОН═ПЕЦСКЪПМШЛ БШПЮФЕМХЪЛ Perl ("perldoc perlre"). еЯКХ БШ═ГЮХМРЕПЕЯНБЮМШ Б═ЕЫ╦ АНКЕЕ ДЕРЮКЭМНИ ХМТНПЛЮЖХХ Н═ПЕЦСКЪПМШУ БШПЮФЕМХЪУ Х═ХУ═ДХЮКЕЙРЮУ (POSIX Х═Р.Д.), ЯЛНРПХРЕ ЯКЕДСЧЫСЧ, ЯОЕЖХЮКЭМН МЮОХЯЮММСЧ ОН═ЩРНИ РЕЛЕ ЙМХЦС:

Mastering Regular Expressions
Jeffrey E.F. Friedl
Nutshell Handbook Series
O'Reilly & Associates, Inc. 1997
ISBN 1-56592-257-3

йПНЛЕ РНЦН, Б═mod_rewrite ЯХЛБНК НРПХЖЮМХЪ (NOT) ('!')═≈ ДНОСЯЙЮЕЛШИ ОПЕТХЙЯ Б═ЬЮАКНМЕ. щРН ДЮ╦Р БЮЛ БНГЛНФМНЯРЭ ХМБЕПРХПНБЮРЭ ДЕИЯРБХЕ ЬЮАКНМЮ; МС═Й═ОПХЛЕПС ЯЙЮФЕЛ: "ЕЯКХ РЕЙСЫХИ URLМЕ ЯНБОЮДЮЕР Я═ЩРХЛ ЬЮАКНМНЛ". щРН ЛНФЕР АШРЭ ХЯОНКЭГНБЮМН Б═НЯНАШУ ЯКСВЮЪУ, ЙНЦДЮ ОПНЫЕ МЮИРХ ЬЮАКНМ ДКЪ МЕЯННРБЕРЯРБХЪ, ХКХ Б═ЙЮВЕЯРБЕ ОНЯКЕДМЕЦН ОПЮБХКЮ, ПЮАНРЮЧЫЕЦН ОН═СЛНКВЮМХЧ.

оПХЛЕВЮМХЕ

оПХ ХЯОНКЭГНБЮМХХ ЯХЛБНКЮ NOT (МЕ) ДКЪ ХМБЕПРХПНБЮМХЪ ДЕИЯРБХЪ ЬЮАКНМЮ БШ═МЕ═ЛНФЕРЕ ХЛЕРЭ ЯЦПСООХПНБЮММШЕ ВЮЯРХ ЦПСООНБШУ ЯХЛБНКНБ Б═ЬЮАКНМЕ. щРН МЕБНГЛНФМН ОНРНЛС ВРН ЙНЦДЮ МЕР ЯННРБЕРЯРБХЪ ЬЮАКНМС, ДКЪ ЦПСОО МЕР МХЙЮЙНЦН ЯНДЕПФХЛНЦН. б═ПЕГСКЭРЮРЕ, ЕЯКХ ХЯОНКЭГСЧРЯЪ ЬЮАКНМШ Я═НРПХЖЮМХЕЛ, БШ═ МЕ═ЛНФЕРЕ ХЯОНКЭГНБЮРЭ $N Б═ЯРПНЙЮУ ОНДЯРЮМНБНЙ!

оНДЯРЮМНБЙЮ Б═ОПЮБХКЕ ОПЕНАПЮГНБЮМХЪ ЩРН ЯРПНЙЮ АСДЕР ОНДЯРЮБКЪРЭЯЪ (ХКХ АСДЕР ГЮЛЕМЪРЭ) БЛЕЯРН НПХЦХМЮКЭМНЦН URL, ДКЪ ЙНРНПНЦН ЕЯРЭЯНБОЮДЕМХЕ ьЮАКНМС. йПНЛЕ ОПНЯРНЦН РЕЙЯРЮ БШ═ЛНФЕРЕ ХЯОНКЭГНБЮРЭ

  1. НАПЮРМШЕ ЯБЪГХ $N МЮ═ЬЮАКНМШ Б═RewriteRule
  2. НАПЮРМШЕ ЯБЪГХ %N МЮ═ОНЯКЕДМХИ ЯННРБЕРЯРБСЧЫХИ ЬЮАКНМ Б═ RewriteCond
  3. ОЕПЕЛЕММШЕ ЯЕПБЕПЮ Б═ЙЮВЕЯРБЕ ОПНБЕПЪЕЛШУ ЯРПНЙ Б═СЯКНБХЪУ ОПЮБХК (%{VARNAME})
  4. БШГНБШ ГЮОПНЯНБ Й═ЛЮЯЯХБС (${mapname:key|default})

нАПЮРМШЕ ЯБЪГХ ЩРН $N (N=0..9) ХДЕМРХТХЙЮРНПШ ЙНРНПШЕ ГЮЛЕМЪЧРЯЪ ЯНДЕПФХЛШЛ N-И ЦПСООШ ОНДУНДЪЫЕЦН ьЮАКНМЮ. оЕПЕЛЕММШЕ ЯЕПБЕПЮ щРН РНФЕ ЯЮЛНЕ ВРН Х═яПЮБМХБЮЕЛЮЪяРПНЙЮ ДХПЕЙРХБШ RewriteCond. гЮОПНЯШ Й═ЛЮЯЯХБС ОПХЬКХ ХГ═ДХПЕЙРХБШ RewriteMap РЮЛ НМХ Х═НАЗЪЯМЕМШ. щРХ РПХ РХОЮ ОЕПЕЛЕММШУ ПЮЯЯЛЮРПХБЮЧРЯЪ Б═ОНПЪДЙЕ, Б═ЙНРНПНЛ НМХ ХДСР Б═ БШЬЕОПХБЕДЕММНЛ ЯОХЯЙЕ.

йЮЙ СФЕ АШКН СОНЛЪМСРН БШЬЕ, БЯЕ ОПЮБХКЮ ОПЕНАПЮГНБЮМХИ ОПХЛЕМЪЧРЯЪ Я═ХЯОНКЭГНБЮМХЕЛ оНДЯРЮМНБЙХ (Б ОНПЪДЙЕ, Б═ЙНРНПНЛ НМХ НОПЕДЕКЕМШ Б═ЙНМТХЦСПЮЖХНММНЛ ТЮИКЕ). URL ОНКМНЯРЭЧ ГЮЛЕМЪЕРЯЪ оНДЯРЮМНБЙНИ Х═ОПНЖЕЯЯ ОПЕНАПЮГНБЮМХЪ ХДЕР ДН═РЕУ ОНП, ОНЙЮ МЕ═НЯРЮМЕРЯЪ АНКЭЬЕ МХЙЮЙХУ ОПЮБХК, ЕЯКХ РНКЭЙН НМ═МЕ═ОПЕПБЮМ ЯОЕЖХЮКЭМН, Я═ОНЛНЫЭЧ ТКЮЦЮ L═≈ ЯЛ. МХФЕ.

яСЫЕЯРБСЕР ЯОЕЖХЮКЭМЮЪ ЯРПНЙЮ ОНДЯРЮМНБЙХ БХДЮ '-' ЙНРНПЮЪ НГМЮВЮЕР: мер ОНДЯРЮМНБЙХ! гБСВХР ЦКСОН? мЕР, ЩРН ОНКЕГМН ДКЪ ОПЮБХК ОПЕНАПЮГНБЮМХЪ ЙНРНПШЕ РНКЭЙН ОПНБЕПЪЧР МЕЙНРНПШЕ URL НДМЮЙН МЕ═ОПНХГБНДЪР ОНДЯРЮМНБНЙ, Р.Е., Б═ ЯБЪГЙЕ Я═ТКЮЦНЛ C (ЖЕОНВЙЮ) БНГЛНФМН ХЛЕРЭ АНКЕЕ ВЕЛ НДХМ ЬЮАКНМ, ОПХЛЕМЪЕЛШИ ОЕПЕД ОПНБЕДЕМХЕЛ МЕОНЯПЕДЯРБЕММН ЯЮЛНИ ОНДЯРЮМНБЙХ.

еЫ╦ НДМН ГЮЛЕВЮМХЕ: бШ═ДЮФЕ ЛНФЕРЕ ЯНГДЮБЮРЭ URL, ЯНДЕПФЮЫХЕ ЯРПНЙС ГЮОПНЯЮ, Б═ЯРПНЙЕ ОНДЯРЮМНБЙХ. оПНЯРН ХЯОНКЭГСИРЕ БНОПНЯХРЕКЭМШИ ГМЮЙ БМСРПХ ЯРПНЙХ ОНДЯРЮМНБЙХ ДКЪ СЙЮГЮМХЪ РНЦН, ЯКЕДСЧЫЕЕ ГЮ═МХЛ ЯНДЕПФХЛНЕ ДНКФМН АШРЭ ОПЕНАПЮГНБЮМН Б═ QUERY_STRING (ЯРПНЙС ГЮОПНЯЮ). йНЦДЮ БШ═УНРХРЕ САПЮРЭ ЯСЫЕЯРБСЧЫСЧ ЯРПНЙС ГЮОПНЯЮ, ГЮБЕПЬЮИРЕ ЯРПНЙС ОНДЯРЮМНБЙХ ОПНЯРН БНОПНЯХРЕКЭМШЛ ГМЮЙНЛ.

оПХЛЕВЮМХЕ

еЯРЭ НДМЮ НЯНАЕММНЯРЭ: йНЦДЮ БШ═ОПЕДБЮПЪЕРЕ ОНКЕ ОНДЯРЮМНБЙХ ЯРПНЙНИ http://thishost[:thisport],═≈ mod_rewrite НРПЕГЮЕР Е╦═ЮБРНЛЮРХВЕЯЙХ. щРН ЮБРНЛЮРХВЕЯЙНЕ СЯЕВЕМХЕ ОНДПЮГСЛЕБЮЕЛНЕ ОПХ БМЕЬМЕЛ ПЕДХПЕЙРЕ URL ОНКЕГМЮЪ Х═БЮФМЮЪ НЯНАЕММНЯРЭ ОПХ ХЯОНКЭГНБЮМХХ Б═ ЯБЪГЙЕ Я═ГЮОПНЯЮЛХ Й═ЛЮЯЯХБЮЛ ОПЕНАПЮГНБЮМХИ ЦЕМЕПХПСЧЫХУ ХЛЪ УНЯРЮ. бГЦКЪМХРЕ МЮ═ОЕПБШИ ОПХЛЕП, Б═ ПЮГДЕКЕ ОПХЛЕПНБ МХФЕ, ВРНАШ ОНМЪРЭ ЩРН.

оНЛМХРЕ

аЕГСЯКНБМШИ БМЕЬМХИ ПЕДХПЕЙР МЮ═БЮЬ ЯНАЯРБЕММШИ ЯЕПБЕП МЕ═АСДЕР ПЮАНРЮРЭ Я═ОПЕТХЙЯНЛ http://thishost ХГ-ГЮ ЩРНИ НЯНАЕММНЯРХ. вРНАШ ХЯОНКЭГНБЮРЭ РЮЙНИ ЯЮЛНПЕДХПЕЙР, бШ═ДНКФМШ ХЯОНКЭГНБЮРЭ ТКЮЦ R(ЯЛ. МХФЕ).

б═ОНДЯРЮМНБЙЕ БШ═ЛНФЕРЕ ХЯОНКЭГНБЮРЭ, Б═РНЛ ВХЯКЕ, Х═ЯОЕЖХЮКЭМШЕ ТКЮЦХ ОСРЕЛ ДНАЮБКЕМХЪ ЯКЕДСЧЫЕИ ЙНМЯРПСЙЖХХ:

[ТКЮЦХ]

Б═ЙЮВЕЯРБЕ РПЕРЭЕЦН ЮПЦСЛЕМРЮ ДХПЕЙРХБШ RewriteRule. тКЮЦХ═≈ ЩРН ПЮГДЕК╦ММШИ ГЮОЪРШЛХ, ЯКЕДСЧЫХИ ЯОХЯНЙ ТКЮЦНБ:

оПХЛЕВЮМХЕ

мХЙНЦДЮ МЕ═ГЮАШБЮ╦РЕ ВРН ьЮАКНМ ОПХЛЕМЪЕРЯЪ ЙН═БЯЕЛС URL Б═ЙНМТХЦСПЮЖХНММШУ ТЮИКЮ ЯЕПБЕПЮ. нДМЮЙН Б═ЙНМТХЦСПЮЖХНММШУ ТЮИКЮУ ЙЮРЮКНЦНБ, ОПЕТХЙЯ ЙЮРЮКНЦЮ (ЙНРНПШИ БЯЕЦДЮ НДХМЮЙНБ ДКЪ ЙНМЙПЕРМНЦН ЙЮРЮКНЦЮ !), ЮБРНЛЮРХВЕЯЙХ СДЮКЪЕРЯЪ ОПХ ЯННРБЕРЯРБХХ ЬЮАКНМС Х═ЮБРНЛЮРХВЕЯЙХ ДНАЮБКЪЕРЯЪ ОНЯКЕ ГЮБЕПЬЕМХЪ ОНДЯРЮМНБЙХ. щРЮ НЯНАЕММНЯРЭ, НЯМНБЮ ДКЪ ЛМНЦХУ БХДНБ ОПЕНАПЮГНБЮМХИ, ОНРНЛС ВРН АЕГ СДЮКЕМХЪ ОПЕТХЙЯЮ ДКЪ ПНДХРЕКЭЯЙНЦН ЙЮРЮКНЦЮ РНФЕ ДНКФМН АШРЭ ЯННРБЕРЯРБХЕ, ВРН МЕ═БЯЕЦДЮ БНГЛНФМН.

еЯРЭ НДМН ХЯЙКЧВЕМХЕ: еЯКХ ЯРПНЙЮ ОНДЯРЮМНБЙХ МЮВХМЮЕРЯЪ Я═╚http://╩ Б═ЩРНЛ ЯКСВЮЕ ОПЕТХЙЯ ЙЮРЮКНЦЮ МЕ ДНАЮБКЪЕРЯЪ Х═ОПНХЯУНДХР КХАН БМЕЬМХИ ПЕДХПЕЙР КХАН ОПНОСЯЙЮМХЕ ВЕПЕГ ОПНЙЯХ (ЕЯКХ ХЯОНКЭГСЕРЯЪ ТКЮЦ P!)!

оПХЛЕВЮМХЕ

дКЪ РНЦН ВРНАШ БЙКЧВХРЭ ЛЕУЮМХГЛ ОПЕНАПЮГНБЮМХИ Б═ ЙНМТХЦСПЮЖХНММШУ ТЮИКЮУ ЙЮРЮКНЦНБ БЮЛ МСФМН МЮОХЯЮРЭ ╚RewriteEngine On╩ Б═ЩРХУ ЯЮЛШУ ТЮИКЮУ Х, ЙПНЛЕ РНЦН, ДНКФМЮ АШРЭ ПЮГПЕЬЕМЮ ЙНМТХЦСПЮЖХНММЮЪ ДХПЕЙРХБЮ ╚Options FollowSymLinks╩. еЯКХ БЮЬ ЮДЛХМХЯРПЮРНП ГЮОПЕРХК ОЕПЕЦПСГЙС ЙНМТХЦСПЮЖХНММНИ ДХПЕЙРХБШ FollowSymLinks Б═ОНКЭГНБЮРЕКЭЯЙХУ ЙЮРЮКНЦЮУ, Б═ЩРНЛ ЯКСВЮЕ БШ═МЕ═ЯЛНФЕРЕ ХЯОНКЭГНБЮРЭ ЛЕУЮМХГЛ ОПЕНАПЮГНБЮМХИ. щРН НЦПЮМХВЕМХЕ МСФМН ОН═ЯННАПЮФЕМХЪЛ АЕГНОЮЯМНЯРХ.

бНР БЯЕ БНГЛНФМШЕ ЙНЛАХМЮЖХХ ОНДЯРЮМНБНЙ Я═ПЮЯЬХТПНБЙНИ ХУ═ГМЮВЕМХИ:

б═ЙНМТХЦСПЮЖХНММШУ ТЮИКЮУ ЙНМРЕЙЯРЮ ЯЕПБЕПЮ (httpd.conf)
ДКЪ ГЮОПНЯЮ БХДЮ ╚GET /somepath/pathinfo╩:

оПЮБХКН                                         оНДЯРЮМНБЙЮ
----------------------------------------------  ----------------------------------
^/somepath(.*) otherpath$1                      МЕ ОНДДЕПФХБЮЕРЯЪ, Р.Й. МЕБЕПМН!

^/somepath(.*) otherpath$1  [R]                 МЕ ОНДДЕПФХБЮЕРЯЪ, Р.Й. МЕБЕПМН!

^/somepath(.*) otherpath$1  [P]                 МЕ ОНДДЕПФХБЮЕРЯЪ, Р.Й. МЕБЕПМН!
----------------------------------------------  ----------------------------------
^/somepath(.*) /otherpath$1                     /otherpath/pathinfo

^/somepath(.*) /otherpath$1 [R]                 http://thishost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^/somepath(.*) /otherpath$1 [P]                 МЕ ОНДДЕПФХБЮЕРЯЪ, - ЦКСОН!
----------------------------------------------  ----------------------------------
^/somepath(.*) http://thishost/otherpath$1      /otherpath/pathinfo

^/somepath(.*) http://thishost/otherpath$1 [R]  http://thishost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^/somepath(.*) http://thishost/otherpath$1 [P]  МЕ ОНДДЕПФХБЮЕРЯЪ, - ЦКСОН!
----------------------------------------------  ----------------------------------
^/somepath(.*) http://otherhost/otherpath$1     http://otherhost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^/somepath(.*) http://otherhost/otherpath$1 [R] http://otherhost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР
                                                (ТКЮЦ [R] ХГАШРНВЕМ)

^/somepath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
                                                ВЕПЕГ БМСРПЕММХИ ОПНЙЯХ

бМСРПХ ЙНМТХЦСПЮЖХНММНЦН ТЮИКЮ ЙЮРЮКНЦЮ, ДКЪ /somepath
(Р.Е., ТЮИК .htaccess Б═ЙЮРЮКНЦЕ /physical/path/to/somepath ЯНДЕПФХР RewriteBase /somepath)
ДКЪ ГЮОПНЯЮ ╚GET /somepath/localpath/pathinfo╩:

оПЮБХКН                                         оНДЯРЮМНБЙЮ
----------------------------------------------  ----------------------------------
^localpath(.*) otherpath$1                      /somepath/otherpath/pathinfo

^localpath(.*) otherpath$1  [R]                 http://thishost/somepath/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^localpath(.*) otherpath$1  [P]                 МЕ ОНДДЕПФХБЮЕРЯЪ, - ЦКСОН!
----------------------------------------------  ----------------------------------
^localpath(.*) /otherpath$1                     /otherpath/pathinfo

^localpath(.*) /otherpath$1 [R]                 http://thishost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^localpath(.*) /otherpath$1 [P]                 МЕ ОНДДЕПФХБЮЕРЯЪ, - ЦКСОН!
----------------------------------------------  ----------------------------------
^localpath(.*) http://thishost/otherpath$1      /otherpath/pathinfo

^localpath(.*) http://thishost/otherpath$1 [R]  http://thishost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^localpath(.*) http://thishost/otherpath$1 [P]  МЕ ОНДДЕПФХБЮЕРЯЪ, - ЦКСОН!
----------------------------------------------  ----------------------------------
^localpath(.*) http://otherhost/otherpath$1     http://otherhost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР

^localpath(.*) http://otherhost/otherpath$1 [R] http://otherhost/otherpath/pathinfo
                                                ВЕПЕГ БМЕЬМХИ ПЕДХПЕЙР
                                                (ТКЮЦ [R] ХГАШРНВЕМ)

^localpath(.*) http://otherhost/otherpath$1 [P] http://otherhost/otherpath/pathinfo
                                                ВЕПЕГ БМСРПЕММХИ ОПНЙЯХ

оПХЛЕП:

лШ═УНРХЛ ОПЕНАПЮГНБЮРЭ URL БХДЮ

/ Language /~ Realname /.../ File

Б═

/u/ Username /.../ File . Language

лШ═АЕПЕЛ ТЮИК, ЯНДЕПФЮЫХИ ЮЯЯНЖХЮРХБМШИ ЛЮЯЯХБ ДКЪ ОПЕНАПЮГНБЮМХИ, ОПХБЕД╦ММШИ БШЬЕ Х═ЯНУПЮМЪЕЛ ЕЦН ОНД ХЛЕМЕЛ /path/to/file/map.txt. гЮРЕЛ, МЮЛ МСФМН РНКЭЙН ДНАЮБХРЭ ЯКЕДСЧЫХЕ ЯРПНВЙХ Б═ЙНМТХЦСПЮЖХНММШИ ТЮИК ЯЕПБЕПЮ Apache:

RewriteLog   /path/to/file/rewrite.log
RewriteMap   real-to-user               txt:/path/to/file/map.txt
RewriteRule  ^/([^/]+)/~([^/]+)/(.*)$   /u/${real-to-user:$2|nobody}/$3.$1
дН ДНЛС | оПН ЮОЮВЕИ
HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ