有没有一种方法可以实现redirect到另一个网站,而不会丢失原始url? 所以,我们想要达到的是能够访问:
somesite.com/some/url -> someothersite.com/some/url
但我们希望保留somesite.com/* 。
换句话说,我们希望通过somesite.com访问someothersite.com 每个url 。
您是否确实在寻找redirect,或者让其他网站的内容显示在原始url(更多代理)的下方? 我会假设其他服务器是你的内容,无论是内部/后端,或者如果公众你知道负面的search引擎优化的影响。 如果someothersite.com不是你的网站和内容,你可能不应该这样做。
你需要运行mod_proxy和mod_rewrite,如果还没有完成的话,可能会取消注释。
然后在somesite.comconfiguration中:
重写引擎
RewriteRule /some/url(.*)http://someothersite.com/some/url $ 1 [P,L]
如果你只是redirect服务器的子目录,你可以使用mod_rewrite:
RewriteCond %{REQUEST_URI} /some/url [NC] RewriteRule ^(.*)$ other.example.com/$1 [R]
如果你试图显示其他网站的内容,而用户看不到其他url,则需要mod_rewrite和mod_proxy
RewriteCond %{REQUEST_URI} /some/url [NC] RewriteRule ^(.*)$ http://other.example.com/$1 [P]
mod_proxy可能需要其他configuration步骤,具体取决于您的环境。
Apache的高级mod_rewrite指南可能会有好处。
我只是抛出一个文件,用HTML元刷新redirect用户,或者如果你想以最可接受的方式redirect用户,可以在站点某处的.htaccess文件中input301redirect规则。
例:
Redirect 301 /some/url http://newsite.com/some/url