Показать сообщение отдельно

  #971  
Старый 02.02.2010, 17:34
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от dimash  
Доброго,
Помогите вспомнить основы.
Регулярные выражения я разберу, есть откуда почитать. Суть в другом, в самом принципе работы.

Например, когда мы преобразовываем ссылку
Код HTML:
www.yoursite.com/script.php?product=123
к виду
Код HTML:
 www.yoursite.com/cat/product/123/

мы используем выражение
PHP код:
RewriteRule cat/(.*)/(.*)/$ /script.php?$1=$


Правильно ли понимаю, что изначально мы смотрим и пишем /script.php?$1=$2, то есть вторую часть, изначальную свою ссылку. Затем мы прописываем первую часть cat/(.*)/(.*)/$ и каждая переменная (в нашем случае $1, $2) (последовательно, слева направо?) идет прописываться в каждую круглую скобку? Вот, и какую роль тогда здесь играют регулярные выражения?
Это регулярное выражение говорит нам,что если, было обращение к например:
Код:
http://site.com/cat/33/4234/
Аппач автоматически внутри системы сделает перенаправление этого запроса в:
Код:
http://site.com//script.php?33=4234
То есть, говорят простыми словами,в первом выражении указываеться маска для запроса,какие запросы обрабатывать, вторым параметром являеться "куда пренаправлять",и там используются уже привычные в regEXP цифровые-переменные.Переменные идут в порядке слева на право.Как пример:
PHP код:
RewriteRule cat/(.*)/(.*)/param/(+)/$ /cat.php?$1=$2&params=$
Делаем обращение к скрипту:
Код:
htto://site.com/cat/A1/B1/param/777/
Мы увидим тоже самое,что и при запросе:
Код:
htto://site.com/cat.php?A1=B1&params=777
Все просто.
 
Ответить с цитированием