使用以下规则重写URL。
RewriteEngine on
RewriteRule ^([a-zA-Z]+)/$ category?id=$1
改变
http://localhost/newsite/category?id=home
到以下结构
http://localhost/newsite/home/
现在,我尝试将newsite/category?id=home
重定向到newsite/home/
,使用重定向规则制作干净的网址,例如301,重定向,但不起作用。
答案 0 :(得分:2)
您可以在newsite/.htaccess
中使用这组规则:
RewriteEngine on
RewriteBase /newsite/
RewriteCond %{THE_REQUEST} /category(?:\.php)?\?id=([^\s&]+) [NC]
RewriteRule ^ %1? [R=301,L]
# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([\w-]+)/$ category.php?id=$1 [L,QSA]
答案 1 :(得分:0)
你错过了重写声明中的.php
RewriteRule ^([a-zA-Z]+)/$ category?id=$1
更改为
RewriteRule ^([a-zA-Z]+)/$ category.php?id=$1