为 Blogger 托管的博客设置带有路径文件夹的自定义域

为 Blogger 托管的博客设置带有路径文件夹的自定义域

Google Blogger 可让您轻松地将博客放在自定义顶级域名或自定义子域名, 例如:

www.example.com
blog.example.com

该设置涉及创建指向以下内容的 CNAME:

ghs.google.com

如何将博客设置为位于自定义域中并且在 URL 路径中包含文件夹名称?

博客主页示例:

www.example.com/blog

ACNAME 不起作用因为这是 DNS 级别,而不是 HTTP 级别。重定向会改变用户浏览器中的 URL,因此这两者都不起作用。

有没有简单的方法可以做到这一点?(注意:我的注册商是 Namecheap,我的网站在 Umbra Hosting 的 Unix 服务器上运行带有 cPanel 的 Apache/2.2.16。)

答案1

有两种方法可以实现此目的。

方法 1:使用“meta”标签

你可以把index.html文件放在www.example.com重定向至www.example.com/blog。此index.html文件将使用以下标签中可用的“meta”标签<head>

例如

<html>
<head>
  <meta http-equiv="refresh" content="0;url=http://www.example.com/blog/">
  <title>www.example.com blog</title>
</head>

<body>
....
</body>
</html>

您可以阅读更多关于它们的内容这里

笔记:此方法要求您只希望 www.example.com/index.html 重定向到 www.example.com/blog/。

方法 2:使用 Apache 重写

#-- blog.example.com --#
<VirtualHost *:80>
  UseCanonicalName Off
  RewriteEngine On

  ServerName blog.example.com

  # blog 
  RewriteRule ^/(.*)$ http://www.example.com/blog/$1 [L,R=301]
</VirtualHost>

方法 3:使用 Apache 反向代理

如果你试图通过 URL 引入流量http://www.example.com/blog/但你实际的博客是http://mysuperblog.blogger.com/,那么另一个选择就是将 mysuperblog.blogger.com 反向代理到负责位于最前面的 Apache 实例后面。

#-- www.example.com/blog --#
<VirtualHost *:80>
  UseCanonicalName Off
  RewriteEngine On

  ServerName www.example.com

  # /blog -> /blog/
  RewriteRule ^/blog$ /blog/ [R]

  # blog
  ProxyPass /blog http://mysuperblog.blogger.com
  ProxyPassReverse /blog http://mysuperblog.blogger.com
</VirtualHost>

笔记:为了使用 Apache 的反向代理功能,请确保启用 mod_proxy 模块。

答案2

遗憾的是,答案似乎是

Blogger 设置 Blogger 设置

看起来没有办法“将博客设置为自定义域,并在 URL 路径中添加文件夹名称”, 例如:

www.example.com/blog

相关内容