пятница, августа 18, 2006

RewriteEngine ON

Взято из учебника Скотт Хокинс "Администрирование Web-сервера Apache и руководство по электронной коммерции"

Задача: преобразовать ссылку http://www.example1.com/~userguy в http://www.example1.com/usr/userguy

Решение:
В файл .htaccess пишем

RewriteEngine ON
RewriteRule ^/~([^/]+)/?(.*) /usr/$1/$2 [R]

Объяснение:
^ если вне фигурных скобок то начало строки (в данном случае мы пропускаем http://www.example1.com и анализировать начинаем с /~)
Далее конструкция ([^/]+).
Первое включение () - это шаблон, который потом подставляется в переменную $1.
Обратите внимание [^/] - это любой символ кроме косой черты, а плюсик после это значит таких символов может быть один или больше.
Дальше опять слеш /.
Знак ? после него, значит может быть один слеш или его может вообще не быть.
Далее (.*), заменяется $2.
. (точка) - любой символ, а * - или ноль или сколько угодно символов в конце.
[R] - инициировать внешнее переназначение.




Обсудить сообщение можно в форуме admins.arg.su

Комментариев нет: