Apache 重定向,无需 URL 重写

Apache 重定向,无需 URL 重写

有没有办法可以实现重定向到另一个网站,而不会丢失原始 URL?因此,我们希望实现的是能够访问:
somesite.com/some/url -> someothersite.com/some/url
但我们希望保留somesite.com/*
换句话说,我们希望访问每个 URL通过。someothersite.comsomesite.com

答案1

您实际上是在寻找重定向,还是想让其他网站的内容出现在您的原始 URL 下(更多代理)?我假设其他服务器是您的内容,并且无论是内部/后端还是公开,您都意识到负面的 SEO 影响。如果 someothersite.com 不是您的网站和内容,您可能不应该这样做。

您需要运行 mod_proxy 和 mod_rewrite,如果尚未完成,则可能需要取消注释提及它的行。

然后在 somesite.com 配置中:
RewriteEngine 在
RewriteRule /some/url(.*)http://someothersite.com/some/url$1 [盈亏]

答案2

如果您仅尝试重定向服务器的子目录,则可以像这样使用 mod_rewrite:

RewriteCond %{REQUEST_URI} /some/url [NC]
RewriteRule ^(.*)$ other.example.com/$1 [R]

如果你尝试显示其他网站的内容,而又不让用户看到其他网址,则需要 mod_rewrite 和 mod_proxy

RewriteCond %{REQUEST_URI} /some/url [NC]
RewriteRule ^(.*)$ http://other.example.com/$1 [P]

根据您的环境,mod_proxy 可能需要其他配置步骤。

阿帕奇的高级 mod_rewrite 指南可能会有好处。

答案3

我只需添加一个文件,只需使用 HTML 元刷新即可重定向用户,或者如果您想以最容易接受的方式重定向用户,请在网站某处的 .htaccess 文件中添加 301 重定向规则。

例子:

Redirect 301 /some/url http://newsite.com/some/url

相关内容