在nodejs/express中如何允许抓取程序的站点地图
问题描述:
在nodejs/express中如何允许抓取程序的站点地图?在nodejs/express中如何允许抓取程序的站点地图
下面的代码是我的应用程序流程的一部分,我应该在哪里放置我的站点地图文件夹/文件?以及如何允许爬虫?现在参观domain/sitemap/sitemap.xml
显示没有找到..
项目/应用/ app.js
app.js
require('./RouteHandler.js')(app, express);
RouteHandler.js
...
var routesIndex = require('./routes/Index/Base.js');
app.use('/', routesIndex);
...
module.exports = setupRoutes;
路线/索引/基地。 js
var express = require('express');
var router = express.Router();
router.get('/', function(req, res, next) {
render .. view
});
module.exports = router;
答
我们有类似的情况,我们通过这种方式解决了这个问题。
- 编写一个单独的js文件,在需要时呈现xml文件并将其保存到目录中,清除您的主Web事件循环不再受到影响。
-
让我们假设该文件夹的名称是地图,并且该文件是sitemap.xml的,你可以在快递这样声明一个静态文件
app.use(express.static(“地图”));
-
,或者如我建议让一个Web服务器可以执行它,因此要求甚至不使它到你的应用程序,对我来说,我使用nginx的
位置/网站导航 { 根/ DIR /到/应用/目录/站点地图; } 我希望这有助于:)
+0
非常感谢! – user1775888
使用GET方法和渲染XML文件或只使用公共目录 –
我现在使用公共目录,但我不知道如何渲染XML文件? 'router.get('/ sitemap.xml',function(req,res,next){ ?? });' – user1775888
你可以使用“res.sendFile(__ dirname +'/public/sitemap.xml'); “直接打开xml文件 –