Node.js:为虚拟主机(vhost)使用站点地图

Posted

技术标签:

【中文标题】Node.js:为虚拟主机(vhost)使用站点地图【英文标题】:Node.js : Using sitemaps for virtual hosts (vhost) 【发布时间】:2016-09-09 18:35:28 【问题描述】:

我是 node.js 的初学者。 目前我正在使用 node.js + express + vhost 来托管不同的域,例如 http://example1.com、http://example2.io 等。

如何为每个域(http://example1.com/sitemap.xml、http://example2.io/sitemap.xml)提供不同的站点地图?

我看到了这个站点地图生成框架:sitemap 这实际上还不错,但我不知道如何将它与虚拟主机一起使用。

对于每个域的 robots.txt 文件也有同样的问题。

【问题讨论】:

【参考方案1】:

好的,我明白了。 sitemap.js 做到这一点。 我的代码:

const sm = require('sitemap');
const sitemap = sm.createSitemap(
    hostname: 'http://' + req.vhost.host,
    cacheTime: 600000
);
sitemap.add(
    url: '/page1',
    changefreq: 'weekly',
    priority: 1.0
);

res.header('Content-Type', 'application/xml');
res.send(sitemap.toString());

【讨论】:

以上是关于Node.js:为虚拟主机(vhost)使用站点地图的主要内容,如果未能解决你的问题,请参考以下文章

多个域上的 Node.js 使用 express.vhosts()

F. 配置多站点

当我使用 Xampp for Mac 为本地站点使用虚拟主机时,如何避免 403 错误?

为啥 Apache 忽略 :80 vhost 文件而只匹配 :443 vhost 文件中的站点?

虚拟主机问题。有两个 vhost 文件,但结果出乎意料 第二个站点未正确加载

Node.js / Express with vhost 与 Sails.js 框架应用程序冲突