Как заставить этот мод переписать - PullRequest
1 голос
/ 24 октября 2010

Это сводит меня с ума, это должно быть легко, но я не могу ...

Мне нужно переписать URL-адреса, подобные этим:

www.domain.com/foo/bar/more/evenmore.htm
www.domain.com/foo/bar/more.htm
www.domain.com/foo/bar.htm
www.domain.com/foo.htm

в

www.domain.com/?var1=foo&var2=bar&var3=more&var4=evenmore
www.domain.com/?var1=foo&var2=bar&var3=more
www.domain.com/?var1=foo&var2=bar
www.domain.com/?var1=foo

значения переменных могут содержать [a-z] [A-Z] [0-9] - _

1 Ответ

1 голос
/ 24 октября 2010

Я не думаю, что есть единственный чистый способ сделать это;Я считаю, что вам нужно использовать одно правило на количество возможных элементов в пути.Например:

^([^\/]*)\/([^\/]*)\/([^\/]*)\/(.*).htm$ ?var1=$1&var2=$2&var3=$3&var4=$4 [L]
^([^\/]*)\/([^\/]*)\/(.*).htm$           ?var1=$1&var2=$2&var3=$3 [L]
^([^\/]*)\/(.*).htm$                     ?var1=$1&var2=$2 [L]
^([^\/]*).htm$                           ?var1=$1 [L]

Вы можете добавить до девяти правил, поскольку (AFAIK) mod_rewrite ограничен от 1 до 9 долларов в качестве параметров подстановки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...