我只是查看了我的网络应用上的抓取统计信息,并注意到Google抓取工具尝试点击不存在的网址,我也没有任何链接 - 例如:
https://www.example.com/-/results/k/Laptop+Notebook/
和
https://www.example.com/dasdhkjdsa7di3hdd
现在,当我查看统计数据时,我看到Cache命中是错过的,但状态代码是200,我认为理想情况下应该是404。
现在在Angular方面,在我的路线文件中,最后我有代码:
.otherwise(
{redirectTo:'/'}
)
因此,重定向这些随机URL时。但是,我如何发送404代码呢?
我想知道它实际上是否可能,即我不需要在我的节点服务器端执行此操作。我尝试了以下内容 - 但是我遇到了问题。
如果我在处理HTML5Mode Urls的部分之前放置res.status(404)代码,那么一旦显示404错误,如果我回到工作URL(主页除外),它会错误地显示404
如果我将res.status(404)代码放在AFTER之后,则Angular otherwise
会接管并简单地重定向到/
app.use(express.static('site'));
//For Angular HTML5Mode Urls
app.get('/*', function(req, res) {
res.sendFile(__dirname + '/site/index.html')
});
app.use((req,res,next)=>{
res.status(404).send("Sorry that page doesn't exist!");
});
任何帮助都将不胜感激。
感谢。