Apache RewriteRule,将字符串匹配转移到查询字符串参数

Apache RewriteRule,将字符串匹配转移到查询字符串参数

我们的网站已经重新开发,我被要求确保某些 URI 的先前形式重定向到新形式,以便现有的链接、书签等不会中断。

以前的 URI 形式为/people/show/person/123(最后一部分是数字 ID)

我已经编写了 RewriteRule,但由于某种原因,它似乎没有将匹配的字符串传输到重写的 URI。

RewriteRule ^/people/show/person/(.*)              /people?person=$1 [R]

如果我不包含[R]重定向标志,该规则似乎根本不起作用,并且我得到:

无法找到所请求的页面“/people/show/person/123”。

标志[R],相反,我得到的是:

无法找到所请求的页面“/people?person=”。

因此看起来页面 ID 没有被转移到重写的 URI。

新网站运行的是 Drupal(旧网站没有),我想 Drupal 自己的 URI 重写中的某些内容也可能会影响该过程中某个地方发生的事情?

有人能建议我需要做什么才能得到期望的结果(例如/people?person=123)吗?

相关内容