3

目前,我的公司博客与我们的主要网络应用程序在同一台服务器上 - 就像在example.com/blog

将博客移动到不同的服务器但仍允许用户在example.com/blog或访问博客的最简单方法是blog.example.com什么?

4

5 回答 5

2

问题 301 HTTP 从 website.com/blog 重定向到 blog.website.com

具体取决于服务器。

于 2009-12-10T12:49:25.570 回答
2

我提供的答案是假设您使用 Apache 作为网络服务器,因为这是我所熟悉的。如果您使用的是 IIS,那么您可能会找到类似的解决方案,但我不能保证这一点。

在过去,我遇到过类似的问题,客户在 www.mydomain.com 托管他们的主要网站,但他们的博客由他们的营销人员在 blog.mydomain.com 托管。出于 SEO 的目的,将博客显示在 www.mydomain.com/blog 可能是有益的,尽管由于 DNS 协议的性质,这在物理上是不可能的。

答案是使用名为mod_proxy的 Apache 模块,它允许您将 url /blog 映射到子域,这对最终用户是不可见的,更重要的是,搜索引擎是不可见的。CodeHaus 发表了一篇关于配置 mod_proxy的好文章(2016 年更新:无处链接),您可能想读一读。

mod_proxy非常复杂,可能需要一段时间才能正确设置,但它是迄今为止您描述的问题的最佳解决方案。

于 2009-12-10T13:44:40.913 回答
1

您可以使用如下所示的简单 javascript 重定向代码来重定向用户。

<script type="text/javascript">
<!--
window.location = "http://www.example.com/";
//-->
</script>
于 2012-01-05T05:00:03.260 回答
0

您是在自己的数据中心托管这些服务器,还是购买托管?我们的公司网站托管在我们数据中心的多台服务器上。我们使用负载均衡器根据 URL 将流量路由到不同的服务器场。所以

http://www.foo.com/assets/ * 可能会路由到一个 Apache HTTP 服务器场,这些服务器只提供图像文件,而

http://www.foo.com/apps/ * 可能会路由到 JEE 应用程序服务器场和

http://www.foo.com/services/ * 可能会路由到专门设计用于托管 Web 服务和

http://www.foo.com/blog/ * 可能会路由到只处理 WordPress 的服务器场。

效果很好...如果您拥有所有这些都可以使用。如果您不这样做,请查看像 Matt 所说的 mod_proxy(我们在购买负载均衡器之前使用过)。

于 2013-11-13T01:15:55.547 回答
0

博客.example.com

blog.example.com最简单,因为您可以简单地将其指向不同的 IP 地址。

对于我正在从事的项目,这不是我想要的。

example.com/blog

相反,我使用 Apachemod_proxy指向/blog另一台服务器。Apache 文档在这里

这很好用:

ProxyPass /blog http://blog.example.com/
ProxyPassReverse /blog http://blog.example.com/

但只有在代理模块正确加载后:

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_html_module /usr/lib/apache2/modules/mod_proxy_html.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so

笔记

  • 由于 CloudFlare,我还必须从不同的主机名托管博客,而不是*.example.com.
  • 我添加Disallow: /到我的blog.example.com/robots.txt. 像这样的搜索引擎不会在两个位置开始索引。而搜索引擎将简单地忽略blog/robots.txt.
于 2016-02-07T11:25:59.877 回答