.htaccess双重定向

时间:2013-03-12 15:49:35

标签: .htaccess rewrite double

我真的很想改写网址并完全吮吸正则表达式,很抱歉,如果我的问题是愚蠢的(因为我不完全理解这个主题)

这是我的重写规则

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。我忘了说我需要定位两个页面的查询字符串,这就是为什么第二个也有正则表达式的原因。不幸的是,我无法改变这个网址结构,这就是我被困的原因

1 个答案:

答案 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参数,而是任意字符串。