.htaccess文件使用2种不同的重写规则

时间:2011-08-10 07:31:11

标签: .htaccess mod-rewrite redirect

我有一个.htaccess文件,其中有一个重写规则,如下工作正常:

RewriteRule ^solicitorsin([^/]+)/all/([0-9]+)$ /search/searchresults.php?county=$1&page=$2 [L]

我想要做的是如果页面变量是2或更高,继续使用它,但如果它是1我想301重定向到一个单独的网址(同一网站)说http://www.domain.com/solicitorsinCOUNTY/ < / p>

问题在于,如果我尝试使用301重定向或重写规则执行此操作,它仍会执行上述重写规则,因此我最终得到http://www.domain.com/solicitorsinCOUNTY/?county=COUNTY&page=1

我之前没有做过很多.htaccess所以我甚至不确定这是否可行,有人可以帮忙吗?非常感谢。

1 个答案:

答案 0 :(得分:0)

如果您使用的是重写规则,请将page=1的规则置于其他规则之上,并确保您拥有[L]标记。

或者,您可以使用RewriteCond来阻止规则在特定的URL上运行,如下所示:

RewriteCond %{REQUEST_URI} !^solicitorsin([^/]+)/all/1$
RewriteRule ^solicitorsin([^/]+)/all/([0-9]+)$ /search/searchresults.php?county=$1&page=$2 [L]