Apache将规则x?y / z重写为x / w / z .htaccess

时间:2019-03-20 19:16:31

标签: regex apache .htaccess mod-rewrite url-rewriting

我需要在htaccess中重写规则。 我不明白如何重写此网址:

  

https://example.com/forumdisplay.php?125-Wiki-Encyclopedia/page2&order=desc

对此:

  

https://example.com/wikipedia/page2&order=desc

链接的一部分-此链接中的"page2&order=desc"可以更改,可以是"page3""page10&order=desc"等。

我正在尝试重定向.htacess中的链接。 像这样:

RewriteCond %{QUERY_STRING} ^f=125&page=(\d+)&order=(\w+)$
RewriteRule ^forumdisplay.php wikipedia?page=%1&order=%2 [R=301,L]

但是问题是/page而不是&page

1 个答案:

答案 0 :(得分:0)

您的规则有很多问题,例如f=125(在经毒化的URL中为125)。

尝试一下:

RewriteCond %{QUERY_STRING} ^125\-Wiki\-Encyclopedia\/page(\d+)&order=(\w+)$
RewriteRule ^forumdisplay.php  wikipedia/page=%1&order=%2? [R=301,L]

注意:清除浏览器缓存,然后进行测试