【发布时间】:2013-01-10 03:56:40
【问题描述】:
当请求 URL /page1.php?abc 时,我希望将其重定向到 /page1.php?xyz。
具体来说,这是我想告诉客户的:
HTTP/1.1 301 Moved Permanently
Location: /page1.php?xyz
我尝试过 Apache RedirectMatch 指令,但它似乎不支持查询字符串。
是否有另一个指令支持带有查询字符串的 URL 的 HTTP 重定向?
目前我正在使用 PHP's header function 完成此操作,但这感觉像是权宜之计,因此我正在寻找 Apache 解决方案。
【问题讨论】:
-
@peterm,该页面中接受的解决方案不起作用。基本上它会重写页面,而不向客户端发送 301 重定向。这是一个完全不同的东西。
-
this question 能解决您的问题吗?
-
@Barmar,不,它和上面的一样。他们说使用 mod_rewrite(客户端将执行 1 个 HTTP 请求)作为 workaround,但这与使用 HTTP 重定向完全不同(客户端将执行 2 个 HTTP 请求,未来的请求将请求新的网址而不是旧网址)
标签: php apache redirect http-status-code-301 mod-alias