我在我的网站上更新了系统,所以我想做一些重定向链接到新页面。
我正在尝试以下重写^ jor / index.php?option = com_content& task = view& id =([0-9] )& Itemid =([0-9] )$ index.php?page = article& id = $ 1
但它不起作用。只是一个“无效链接”。
以及如何让它重定向302?
谢谢
答案 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]
表示“一个或多个”)