2011-03-21 22 views
0

我已更新我的网站上的系统,因此我想为重新链接指向新页面。旧的网址无法在.htaccess中工作

我试图下面^的RewriteRule JOR/index.php文件?选项= com_content & =任务视图& ID =([0-9〕)& ITEMID =(0-9〕)的index.php $ ?page = article & id = $ 1

但它不工作。只是一个'无效的链接'。

以及如何使其重定向302?

谢谢

+0

我忘了回答你的第二个问题。你用'[R = 302,L]'做了302重定向。我已经更新了答案。 – nitro2k01 2011-03-22 19:35:58

+0

谢谢硝基:)我发现它 – 2011-03-23 13:27:50

回答

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其后是字符串的结尾。 itemid=1337&id=42将无法​​工作,因为订单已交换。

2)该规则对查询字符串的其余部分不做任何假设。它也可以从option=com_radio开始。

3)请注意[0-9]之后的+,它需要匹配多个字符。 (+的意思是“一个或多个”)