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

Това празен лист хартия. Finish.

Досега в RuNet аз не бях в състояние да намери една статия, която ще бъде на разположение и напълно разказа за това как да конфигурирате директиви RewriteCond и RewriteRule в .htaccess файл.

Никъде не е там отговор на най-основните въпроси: как трансформацията на URL адреса, към браузъра? Как да видите новия трансформирани URL? Възможно ли е да видите дневника на URL картографиране?

Дайте ни черна кутия, в която искате да напишете някакъв странен правопис, не виждате какво се случва в процеса и на изхода. Ние не ми харесва. Ето защо, ние ще направим проверка.

Приема се също така, че mod_rewrite Apache модул е ​​свързан и работи, а ние имаме само правото да предписват директиви URL пренасочва във файла .htaccess.

Как URL пренасочване в .htaccess чрез модул mod_rewrite?

Линиите на нашата програма са условни директиви модул mod_rewrite:

  • RewriteEngine - активиране / деактивиране на пренасочване. Той обикновено се използва в началото на файла. Htaccess под формата на:
RewriteEngine На
  • RewriteBase - определяне на главната директория за превръщането на URL низ в името на файла. Той обикновено се използва в началото на файла. Htaccess под формата на: RewriteBase /
  • RewriteOptions - втвърдители някои специални опции за текущата конфигурация на сървър или директория контекст. Там няма да бъдат разглеждани.
  • RewriteCond - е предварително условие за директивите на RewriteRule. Човек може да имате няколко RewriteRule RewriteCond. Той има следния формат:

    RewriteCond chto_sravnivaem s_chem_sravnivaem

    RewriteRule ще бъде изпълнена само ако всички предишни директиви RewriteCond са в True.
  • RewriteRule - екип URL картографиране. Той има следния формат:

    RewriteRule source_string (т.е.. Модела) preobrazovannaya_stroka (т.е.. Смяна) [флагове]

  • Тук ще се спрем само най-простият и най-популярната преобразуване: преобразуване на URL низ в името на файла на ресурса, който се върти около Apache.

    Какъв URL попадне в .htaccess?

    .htaccess файл URL низ влиза без знак на името на протокол и домейн.

    Как да видите трансформацията на URL адрес?

    Въпреки че няма да видите промените, които претърпява адреса, когато е активиран директиви mod_rewrite. не можем да разберем работата си и не може да напише правилно .htaccess файл.

    Вижте трансформацията на дневника е възможно в лог mod_rewrite на Apache. Но първо, трябва да конфигурирате Apache, така че информацията за конвертиране на URL попадне в дневника. Настройки на Apache версия 2.4 и Apache 2.4 и по-горе, са различни.

    За Apache версия 2.4:

    В настройката на httpd.conf Apache, че е необходимо да се провери директиви наличност RewriteLog и RewriteLogLevel. (Ако не е необходимо да ги добавите) и задайте следните стойности на тези директиви:

    # За Apache версия 2.4,

    към лог файл път трябва да съществува във файловата система. Този файл ще се развива информация за конвертиране на URL.

    За Apache 2.4 и по-горе:

    В настройката на httpd.conf Apache, че е необходимо да се намери директива LogLevel и му задайте стойност:

    # За Apache 2.4 и по-горе

    LogLevel сигнал пренаписване: trace3

    за трансформиране на URL информация ще се появи в Apache лог (проверете, че е възможно, че не е така аз нямам Apache 2,4).

    След това трябва да рестартирате Apache. Те няма да се видят около следните записи:

    пренапише "администратор / vipPortPageId / forward_function '->' index.php / администратор / vipPortPageId / forward_function"

    RewriteCond: вход = '/ малък / asdfsadf / avatar.jpg "модел =' ^ / (. *) / (. *). (*) '=> Съответстващо

    RewriteCond: вход = '/ Var / WWW / local.dev / WWW / малък / avatar.jpg "модел =' - F '=> съвпадащи

    пренапише "малка / asdfsadf / avatar.jpg -> /small/avatar.jpg"

    вътрешно пренасочване с /small/avatar.jpg [вътрешно пренасочване]

    Внимание! Влизане резултати трансформации в mod_rewrite - много отнемащ време процес. Да не се допуска тези настройки по prodershene на сървъра. Дори и на тест сървър, изберете сеч, отстраняване на грешки пренасочване, а след това се върнете настройките обратно.

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

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