mod_rewrite为http://adresa.com/view/1113

时间:2012-03-23 08:19:38

标签: .htaccess mod-rewrite

我需要将此网址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]

有人可以帮帮我吗?

1 个答案:

答案 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]