我需要将此网址http://adresa.com/article.php?act=view&id=1113
重写为http://adresa.com/view/1113
我在.htaccess
中使用mod_rewrite创建它,但它不起作用。
RewriteBase /
RewriteCond %{QUERY_STRING} ^act=([^&]+)$
RewriteRule ^article\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html article.php?rw=1&act=$1 [L,QSA]
RewriteRule ^([^/]+)/{1}([^/.]+)\.html article.php?rw=1&act=$1&id=$2 [L,QSA]
有人可以帮帮我吗?
答案 0 :(得分:0)
这是解决方案(使用适当的行分隔以避免混淆(RewriteCond仅对RewriteRule之后的一个有效,因此请在后面留一个空行以避免混淆)):
RewriteBase /
RewriteRule /view/([0-9+])$ /article.php?act=view&id=$1 [QSA,L]
RewriteCond %{QUERY_STRING} ^act=([^&]+)$
RewriteRule ^article\.php$ %1.html? [R=301,L,NE]
RewriteRule ^([^/]+)\.html article.php?rw=1&act=$1 [L,QSA]
RewriteRule ^([^/]+)/{1}([^/.]+)\.html article.php?rw=1&act=$1&id=$2 [L,QSA]