Това празен лист хартия. Finish.
Досега в RuNet аз не бях в състояние да намери една статия, която ще бъде на разположение и напълно разказа за това как да конфигурирате директиви RewriteCond и RewriteRule в .htaccess файл.
Никъде не е там отговор на най-основните въпроси: как трансформацията на URL адреса, към браузъра? Как да видите новия трансформирани URL? Възможно ли е да видите дневника на URL картографиране?
Дайте ни черна кутия, в която искате да напишете някакъв странен правопис, не виждате какво се случва в процеса и на изхода. Ние не ми харесва. Ето защо, ние ще направим проверка.
Приема се също така, че mod_rewrite Apache модул е свързан и работи, а ние имаме само правото да предписват директиви URL пренасочва във файла .htaccess.
Как URL пренасочване в .htaccess чрез модул mod_rewrite?
Линиите на нашата програма са условни директиви модул mod_rewrite:
- RewriteEngine - активиране / деактивиране на пренасочване. Той обикновено се използва в началото на файла. Htaccess под формата на:
RewriteCond chto_sravnivaem s_chem_sravnivaem
RewriteRule ще бъде изпълнена само ако всички предишни директиви RewriteCond са в True.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 на сървъра. Дори и на тест сървър, изберете сеч, отстраняване на грешки пренасочване, а след това се върнете настройките обратно.
Свързани статии