是否有可能使用现有的Apachefunction实现服务器相对redirect?
mod_alias确实有一个redirect命令,但是总是会产生一个绝对的redirect,即使像这样configuration
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规范。 但所有现代浏览器都支持相对redirect,我真的需要临时修复。
这就是redirect的工作方式; 从手册:
新的URL应该是以scheme和hostname开头的绝对URL,但也可以使用以斜杠开头的URLpath,在这种情况下,将会添加当前服务器的scheme和主机名。
从RFC 2616,第14.30节 :
字段值由一个绝对 URI组成。