相关疑难解决方法(0)

未找到页面上的Vue-router重定向(404)

我正在尝试重定向到使用router.beforeEach全局挂钩未找到的页面上的404.html ,但没有太大成功(使用VueVue-Router1.0):

router.beforeEach(function (transition) {
    if (transition.to.path === '/*') {
        window.location.href = '/404.html'
    } else {
        transition.next()
    }
});
Run Code Online (Sandbox Code Playgroud)

404.html插入不存在的路径时,这不会重定向到页面,只是给我一个空片段.只有在硬编码some-site.com/*时,它才会重定向到预期的some-site.com/404.html

我确信这里有一些非常明显的东西,我忽略了,但我无法弄清楚是什么.


请注意,我正在寻找的是重定向到新页面,而不是重定向到另一个路由,这可以通过使用router.redirect这些片段轻松实现:

router.redirect({
    '*': '404'
})
Run Code Online (Sandbox Code Playgroud)

在我身上router.map,我可以拥有以下内容:

 router.map({
    '/404': {
        name: '404'
        component: {
            template: '<p>Page Not Found</p>'
        }
    }
})
Run Code Online (Sandbox Code Playgroud)

http-status-code-404 vue.js vue-router

37
推荐指数
5
解决办法
6万
查看次数

如何从SPA返回HTTP 404状态代码?

我看到了这样的一些问题(就像这一个),但没有一个问题具体解决这个问题.

因此Google 现在支持SPA,大多数Web浏览器都支持HTML5 pushState.

我的AngularJS(但可能是任何JS的东西)网站正在使用URL来确定API路由.然后它执行API调用,然后相应地呈现内容.

但是,现在Google将此网站标记为"被黑客入侵",因为每个网址都会返回HTTP 200状态代码(包含example.com/get-free-viagra).公平,但我如何归还404?或者至少告诉谷歌这是一个未找到的页面?他们似乎没有提供这些信息,我非常担心SEO.

我想到了一些想法:

  • 弃用我当前的设置(我使用AWS S3来托管静态网站),然后使用expressJS框,使用中间件执行API调用并在需要时返回404.但是,我不喜欢这种方法,因为它会损害性能(每个前端请求有两个API调用).
  • 使用window.location重定向到一个适当的404页.但是,我不确定Google是否会遵循它,并且已经不鼓励更改URL.
  • 使用rel="nofollow"未找到的页面,但我觉得这还不够.

我现在正沮丧地倾向于第一种选择.

javascript seo html5 angularjs single-page-application

13
推荐指数
1
解决办法
2332
查看次数

使用META REFRESH重定向的SEO后果

问题:使用META REFRESH重定向网络流量的SEO后果是什么?

详细信息:我正在使用迁移到新地址的旧静态站点.我正在使用所有静态页面上的元刷新将流量重定向到新站点,如下所示:

<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.newsite.com/">
Run Code Online (Sandbox Code Playgroud)

当然,我宁愿直接将重定向写入Apache文件(或.htaccess文件),但由于某些服务器的怪异程度超出了我的控制范围,我仍然坚持使用meta刷新.

所以我想知道后果是什么?该网站的搜索排名是否会受到影响?新网站会被编入索引吗?我已经读过谷歌(等人)会将刷新视为正确的301重定向,只要它设置为0秒(任何更长的时间将被视为垃圾邮件).分析将如何受到影响?

这里的真实行为是什么?有什么想法吗?

html seo search refresh meta-tags

10
推荐指数
1
解决办法
1万
查看次数