开发者

How to make this mod rewrite

开发者 https://www.devze.com 2023-01-21 07:16 出处:网络
This drives me crazy, it should be easy but I can\'t... I need to rewrite URLs like this ones: 开发者_StackOverflowwww.domain.com/foo/bar/more/evenmore.htm

This drives me crazy, it should be easy but I can't...

I need to rewrite URLs like this ones:

开发者_StackOverflowwww.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

into:

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

variable values may contain [a-z] [A-Z] [0-9] - _


I don't think there's a single clean way to do it; I believe you need to use one rule per number of possible elements in the path. For example:

^([^\/]*)\/([^\/]*)\/([^\/]*)\/(.*).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]

You can add up to nine rules, because (AFAIK) mod_rewrite is limited to $1 through $9 as substitution parameters.

0

精彩评论

暂无评论...
验证码 换一张
取 消