| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Администрирование Web серверов и Web служб > Поговорим о RewriteCond, RewriteRule, ЧПУ |
| Автор: numerovan 2.4.2015, 20:01 | ||||||||||||
| Поясните пожалуйста работу RewriteCond, RewriteRule. В инете, сколько перерыл, все сводится именно сюда: http://www.egoroff.spb.ru/portfolio/mod_rewrite.html http://www.egoroff.spb.ru/portfolio/rewriteguide.html RewriteCond - это значит что у нас условия, если они верны, то выполняется RewriteRule Есть картинка, с тех же ссылок http://www.egoroff.spb.ru/apache/images/mod_rewrite_fig1.gif Приведу сразу пример (наиболее популярный) и ход своих мыслей:
Если HTTP_HOST (далее test.ru) встречается один раз или более, но меньше 10 раз в строчке с патерном www.(.*) (регистронезивисемым [NC]), то примени правило RewriteRule, а именно ^/?(.*) прямой слеш 0 или 1 раз и далее любой символ ... если совподение произошло, то вырубай проверку далее (L) и делай редирект ® с опцией (permanent, т.е. документ перемещен постоянно, можно и цифру в место слова поставить 301, что равно этому перманенту). Если все нормально, то в %1 поставь test.ru, а в $1 поставь любой символ из ноль или более раз. Вот еще пример и правильно ли я мыслю:
Если совпадут три условия, то только потом выполни RewriteRule. Если все верно, то похоже на следующую схему в программировании:
Вот еще пример и правильно ли я понимаю:
Примени правило RewriteCond №1 только для RewriteRule №2, а RewriteRule №3 выполни в любом случае. ---------------------------------------------------------------------------------------------------------------------------- Теперь задача: Если в URL бывает таким: http://test.ru/1/2/3/.../n. Как лучше прописать правила и обрабатывать их скриптом? Н а данный момент я пока сделал следующее:
но чувствую что это не правильно, где-то видил вариант следующий - посылать только в одну переменую, н-р вот так:
и чтоб один скрипт обрабатывал дальнейшую работу, на сколько понимаю что переменная "v" должна принимать массив со всеми необходимыми параметрами. |
| Автор: numerovan 6.4.2015, 16:04 |
| чет ни какого прогресса нет ) |