.htaccess 使用htaccess重写两个参数的URL

.htaccess 使用htaccess重写两个参数的URL,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我从stackoverflow阅读了许多关于使用htaccess重写两个模块的讨论。但是没有什么对我有效。这是我的url,www.website.com/image.php?category=anies&name=tiger,我想将其更改为干净的url,如下所示http://www.website.com/animal/tiger <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !

我从stackoverflow阅读了许多关于使用htaccess重写两个模块的讨论。但是没有什么对我有效。这是我的url,
www.website.com/image.php?category=anies&name=tiger
,我想将其更改为干净的url,如下所示<代码>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>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)$category.php?标记=$1[NC]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/([^/]+)$covers.php?标记=$1&name=$2[L]

www.website.com/animal/tiger
运行良好,但当我单击(类别)
www.website.com/animal/
时,它不会显示结果。

我认为您缺少结束斜杠签入规则:

<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>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/?$category.php?标记=$1[NC]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^([^/]+)/([^/]+)/?$covers.php?标记=$1&name=$2[L]
请试一试