不是很擅长写正则,写的基本都只是勉强能用,下面的这个要求看看是否有高手能帮忙精简下。
忘不吝赐教RewriteRule ^i/([a-zA-Z0-9]+)((/b/){1}([a-zA-Z0-9])*)?((/c/){1}([a-zA-Z0-9]*))?((/p/){1}([0-9]+))?$ i.php?a=$1&b=$2&c=$5&d=$8
其实只是想取$1 $4 $7 $10,但是好像.htaccess超过十个参数就会错误。所以取不到$10,当然可以取$8然后用程序来处理,但是我想问,有没有可以精简这个句子,直接按$1 $2 $3 $4 获取,而且不破坏规则。越短越简越好
忘不吝赐教RewriteRule ^i/([a-zA-Z0-9]+)((/b/){1}([a-zA-Z0-9])*)?((/c/){1}([a-zA-Z0-9]*))?((/p/){1}([0-9]+))?$ i.php?a=$1&b=$2&c=$5&d=$8
其实只是想取$1 $4 $7 $10,但是好像.htaccess超过十个参数就会错误。所以取不到$10,当然可以取$8然后用程序来处理,但是我想问,有没有可以精简这个句子,直接按$1 $2 $3 $4 获取,而且不破坏规则。越短越简越好
我写的匹配:RewriteRule ^i/([a-zA-Z0-9]+)((/b/){1}([a-zA-Z0-9])*)?((/c/){1}([a-zA-Z0-9]*))?((/p/){1}([0-9]+))?$ i.php?a=$1&b=$2&c=$5&d=$8/i/ 固定 $a = adidas
假如 /b/ 存在 则 $b = wontao [a-zA-Z0-9-]*
假如 /c/ 存在 则 $c = white [a-zA-Z0-9-]*
假如 /p/ 存在 则 $d = 20 [0-9]+这样能看清楚不。