0

IIS 6,使用 IIRF。我不确定这是重写还是重定向。我们有一个新站点,需要 301 将旧页面重定向到新页面并仅保留查询字符串值。我需要以下重写规则。这些东西很难使用,我找不到任何与我正在尝试做的事情相匹配的例子。

我需要根据特定的 URL 重写:

subdomain.site.org/dir1/dir2/dir3/page.cfm?pc=1092

当此页面被点击时,我需要将其重写为以下内容:

subdomain2.site.org/detail.aspx?id=1092

请注意,它不会提取整个查询字符串,而只是提取它的值。

4

1 回答 1

0

由于您想使用 301 重定向到新的(永久)URL,因此您应该使用RedirectRule.

假设您有一个配置为响应subdomain.site.org和 的网站subdomain2.site.org,您将需要 aRewriteCond才能仅重定向来自旧子域的请求。

RewriteCond %{SERVER_NAME} ^subdomain\.site\.org$
RedirectRule ^/dir1/dir2/dir3/page\.cfm\?pc=(\d+)$ http://subdomain2.site.org/details.aspx?id=$1 [I,R=301]

RedirectRulefinally 仅在旧 URL 模式匹配时执行,并将查询字符串值恢复为新pcURL。

于 2013-05-02T07:51:14.520 回答