Mod重写,对于类别及其页面,冲突

时间:2015-06-01 09:41:49

标签: php apache .htaccess mod-rewrite

我有 category.php 并且它有?slug='something',所以在我在 .htaccess 中执行了一些代码之后看起来像这样:www.example.com/category/football 。它运作良好,但我需要实现页面编号,所以我的链接将是这样的:www.example.com/category/football/page/2。我也在 .htaccess 中使用了一些代码,但它不起作用。

我在 category.php 中编写了这段代码来表示一些内容:

echo "$_GET['slug']"

if(isset($_GET['page']))
   echo $_GET['page']

当我去www.example.com/category/football时,一切都好,我得到" fudbal "来自echo $_GET['slug']

的消息

但是当我去www.example.com/category/football/page/2它不行时,我会得到" fudbal / page / 2 " (我将它与所有slug相呼应)来自echo $_GET['slug']$_GET['page']没有给出任何东西。

这是我的 .htaccess

Options -Indexes
RewriteEngine on

RewriteRule ^category/([a-zA-Z0-9-/]+)$ themes/tema_2/category.php?slug=$1 [NC,L,QSA]
RewriteRule ^category/([^/]+)/page/(\d+)/?$ themes/tema_2/category.php?slug=$1&page=$2 [NC,L,QSA]

在此处尝试:http://htaccess.madewithlove.be/ 我收到了错误:

  

符合此规则,新网址为http://www.example.com/themes/tema_2/category.php?slug=fudbal/page/2   测试因为RewriteRule选项中的L

而停止

1 个答案:

答案 0 :(得分:0)

这应该适合你:

Options -Indexes
RewriteEngine on

RewriteRule ^category/([^/]+)/?$ themes/tema_2/category.php?slug=$1 [NC,L,QSA]
RewriteRule ^category/([^/]+)/page/(\d+)/?$ themes/tema_2/category.php?slug=$1&page=$2 [NC,L,QSA]