旧网址不在.htaccess工作

时间:2011-03-21 13:59:01

标签: .htaccess

我在我的网站上更新了系统,所以我想做一些重定向链接到新页面。

我正在尝试以下重写^ jor / index.php?option = com_content& task = view& id =([0-9] )& Itemid =([0-9] )$ index.php?page = article& id = $ 1

但它不起作用。只是一个“无效链接”。

以及如何让它重定向302?

谢谢

1 个答案:

答案 0 :(得分:0)

您无法直接将查询字符串与RewriteRule匹配;它只匹配文件路径。您需要使用RewriteCond%1(而不是$1

RewriteCond %{QUERY_STRING} id=([0-9]+)&Itemid=([0-9]+)$
RewriteRule ^jor/index.php index.php?page=article&id=%1&itemid=%2 [R=302,L]

请注意以下几点:

1)假设id后跟itemid,后跟字符串的结尾。 <{1}}将无效,因为订单已被换掉。

2)规则不对查询字符串的其余部分做出假设。它也可以从itemid=1337&id=42开始。

3)注意匹配多个字符所需的option=com_radio之后的+。 ([0-9]表示“一个或多个”)