如何重写URL,将路径拆分为单独的查询字符串参数?

时间:2012-05-19 00:22:24

标签: mod-rewrite apache2

我想重写一个URL,例如:mysite.com/Section/Subsection/SubSubSection into mysite.com/index.php?s=Section&sub1=SubSection&sub2=SubSubSection

我写了这条规则:

RewriteRule ^([^/]*)/([^/]*)/([^/]*)/?$ /index.php?s=$1&sub1=$2&sub2=$3

但问题是Section,SubSection和SubSubSection根本不是强制性的,但如果我插入一些'?'它出现在内部服务器错误...

(我试过这个:

RewriteRule ^([^/]*)(/([^/]*))?(/([^/]*))?/?$ /index.php?s=$1&sub1=$3&sub2=$5

但它不起作用)

另一个问题是还有其他不应编辑的网址,例如/res/img/logo.png。

有问题的网站是动态的,所以我事先并不知道部分名称。我知道应该排除的网址。

任何解决方案?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为你应该这样做......

RewriteRule ^/([a-zA-Z]*)/([a-zA-Z]*)/([a-zA-Z]*)/?$ /index.php?s=$1&sub1=$2&sub2=$3

问候,

Mimiz