Apache 服务器相对重定向

Apache 服务器相对重定向

是否可以使用现有的 Apache 功能实现相对于服务器的重定向?

mod_alias确实有一个重定向命令,但即使配置为

Redirect /asdf /qwer

还尝试使用mod_rewrite像这样:

RewriteEngine On
RewriteRule /asdf(.*) /qwer$1 [R,L]

这两种设置的最终结果都是相同的:

HTTP/1.0 302 Found
Location: http://my-host.blah.blah:20085/qwer

但我真正需要的是:

HTTP/1.0 302 Found
Location: /qwer

- - 编辑 - -

是的,我知道这违反了 RFC 规范。但所有现代浏览器都支持相对重定向,我确实需要它来临时解决问题。

答案1

这就是重定向的工作方式;来自手册:

新的 URL 应该是以方案和主机名开头的绝对 URL,但也可以使用以斜杠开头的 URL 路径,在这种情况下将添加当前服务器的方案和主机名。

RFC 2616,第 14.30 节

字段值由单身的 绝对URI。

相关内容