我在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/
时,它就没有显示结果。
答案 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>
请尝试。