如果变量等于某个字符串,则htaccess重写if条件

时间:2012-10-09 14:54:21

标签: php .htaccess mod-rewrite

我在.htaccess文件中使用mod重写将URL更改为更好的URL,它转换为:

http://domain.com?a=test&v=page&id=3

http://domain.com/test/page/3

使用此条件

RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$ index.php?a=$1&v=$2&id=$3 [L]

如果$ 1 == cart和$ 2 == home

,我想做一些不同的事情

这是使用php if条件

的想法的一些伪代码
if($1 == 'cart' && $2 == 'home'){
   here I want to do a different rewrite rule
}else{
   RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$ index.php?a=$1&v=$2&id=$3 [L]
}

关于我如何去做的任何想法?

2 个答案:

答案 0 :(得分:3)

2个重写规则,首先是预定义规则:

RewriteRule ^cart/home/([^/\.]+)?$            page2.php?id=$1 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)?$  index.php?a=$1&v=$2&id=$3 [L]

答案 1 :(得分:0)

试试这个:

RewriteRule ^cart/home/([^/.]+)?$ other_page.php?id=$1 [L]

然后继续你已有的规则。