使用htaccess重写两个参数的URL

时间:2014-02-05 16:09:14

标签: .htaccess mod-rewrite

我在stackoverflow中使用htaccess读了很多关于两个mod重写的讨论。但对我来说没有任何效果。这是我的网址www.website.com/image.php?category=animals&name=tiger,我想将其更改为干净的网址,如下所示。 http://www.website.com/animal/tiger

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ category.php?tag=$1 [NC]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ covers.php?tag=$1&name=$2 [L]

</IfModule>

www.website.com/animal/tiger效果很好,但是当我点击(类别)www.website.com/animal/时,它就没有显示结果。

1 个答案:

答案 0 :(得分:1)

我认为你缺少结束斜线检查规则:

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ category.php?tag=$1 [NC]


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ covers.php?tag=$1&name=$2 [L]

</IfModule>

请尝试。