htaccess第一页屏蔽多个变量

时间:2014-02-04 22:59:04

标签: .htaccess mod-rewrite redirect rewrite

如何在htaccess上屏蔽第一个类别页面(第1页)。我需要一行编写这段代码吗?

RewriteRule ^animal$ categorie.php?cID=1&page=1 [L]
RewriteRule ^animal/page/([0-9]+)$ categorie.php?cID=1&page=1$ [L]

我的另一个类别:

www.domain.com/women  = domain.com?catID=2&page=1
www.domain.com/women/page/2 = domain.com?catID=2&page=2

我有 11个类别

抱歉英语。

2 个答案:

答案 0 :(得分:0)

不幸的是,如果您要将名称(动物,女性......)转换为ID ,则必须完成逐案处理。考虑传递类别名称catName=$1)而不是数字cId=nnn。然后你可以在你的PHP代码中设置cId

如果没有给出页面,则需要一个单独的RewriteRule来处理第1页的默认页面。

RewriteEngine On
RewriteRule  ^([^/]+)/?$  /category.php?catName=$1&page=1 [QSA]
RewriteRule  ^([^/]+)/page/([0-9]+)/?$  /category.php?catName=$1&page=$2  [QSA]

是一种方法。

现在,在/category.php中,您可以查找$ catID $_GET['catName'],并设置$_GET['page']。为安全起见,请检查它们是否使用isset()进行设置,并检查是否有效值。

答案 1 :(得分:0)

我解决了这个问题。

RewriteRule ^(animal|women|live|football)$ /categorie.php?cat=$1&page=1 [L]
RewriteRule ^(animal|women|live|football)/page/([0-9]+)$ /categorie.php?cat=$1&page=$2 [L]

谢谢