我真的很想改写网址并完全吮吸正则表达式,很抱歉,如果我的问题是愚蠢的(因为我不完全理解这个主题)
这是我的重写规则
RewriteRule ^trends/conversion/([_a-zA-Z0-9-]*) trends/conversion.php?$1
RewriteRule ^trends/([_a-zA-Z0-9-]*)$ trends/index.php?$1
基本上,我总是以index.php页面结束,除非我删除第二条规则,当然。一旦到达conversion.php,我可以让mod重写停止吗?
提前致谢
的Fabio
P.S。我忘了说我需要定位两个页面的查询字符串,这就是为什么第二个也有正则表达式的原因。不幸的是,我无法改变这个网址结构,这就是我被困的原因
答案 0 :(得分:1)
您必须先在第一条规则中添加L
标记,然后在第二条规则中添加RewriteCond
,以防止再次重写conversion.php
RewriteRule ^trends/conversion/([_a-zA-Z0-9-]*) trends/conversion.php?$1 [L]
RewriteCond %{REQUEST_URI} !conversion\.php
RewriteRule ^trends/([_a-zA-Z0-9-]*)$ trends/index.php?$1 [L]
您应该考虑将查询字符串更改为id=$1
或类似字符串。否则,每个请求都没有相同的GET
参数,而是任意字符串。