重定向不能通过mod_rewrite工作

时间:2013-12-28 12:13:10

标签: regex apache .htaccess mod-rewrite

为什么这个正则表达式不起作用?一般问题出现在simbol“?”之后,可能有几种选择,但无法解决问题。

RewriteEngine on
RewriteRule ^portfolio.php?id=(.*?)$ /index.php?page_id=$1

1 个答案:

答案 0 :(得分:1)

您无法匹配RewriteRule模式中的查询字符串,该模式仅用于匹配REQUEST_URI。你需要一个RewriteCond。使用此规则:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^id=([^&]*) [NC]
RewriteRule ^portfolio\.php$ /index.php?page_id=%1 [L,QSA]