- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试弄清楚如何为我的 AngularJS 应用程序上未找到的页面获取 404 文档状态错误 以保持良好的 SEO。我想做一些类似于 Red Bull Sound Select 网站 做的事情,但我不确定他们是怎么做的?
示例 404 网址
https://www.redbullsoundselect.com/no-page-here
如您在上面的示例中所见,URL 更改为/404,您会收到 URL 中原始路径的 404 文档状态错误,即 no-page-here
在我的 AngularJS 应用程序上,我只有:
.otherwise({
class: 'page-not-found',
title: '404 Page Not Found',
description: '404 Page Not Found',
templateUrl: '/app/static/404.html',
controller: 'mainController as mainCtrl'
});
我可以使用类似的东西:
otherwise({
redirectTo: '/404'
});
这与 redbull 站点的类似,但它仍然没有给出 404 文档状态错误。 (也将 URL 更改为 404 而不是保留原始 URL,这对 SEO 也不是很好,但至少 Google 不会将错误的 URL 编入索引。)
我想我可以尝试在 Angular 中发出一个不存在的 http 请求来获得 404 xhr 状态,但我认为这还不够。
我读过一些 answers建议使用 prerender.io,但这是您必须支付的费用,这似乎只是为了让 404 页面正常工作。
或许,我们可以在 .htaccess 中做一些事情来以不同的方式处理 404 页面?目前我们重写了规则,以便任何不存在的请求资源都将使用/index.html。或许我们可以为 Apache 处理 404 页面的方式破例。
我在 redbullsoundselect.com 上发现他们在 app.js 中使用了以下内容
$stateProvider.state("404", {
url: "/404",
templateUrl: "/views/site/404.html",
controller: "NotFoundController"
});
尽管如此,我还是不明白这个逻辑是如何运作的。我查看了他们的 NotFoundController但似乎并没有发生太多事情。
这与他们使用 ui.router
而不是像我一样使用 ngRoute
有什么关系吗?
这是我的 .htaccess
设置:
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
#如果请求的资源不存在,使用index.html 重写规则 ^/index.html
最佳答案
有效网址:https://www.redbullsoundselect.com/artists/gherbo
无效网址:https://www.redbullsoundselect.com/artists/gherbo2
打开 DevTools,在 Network 选项卡中选择“Preserve log”,打开无效的 URL。
/api/v1/groups/gherbo2?type=artist
进行 API 调用window.location.assign("/404");
artists-profile.js:577 他们提供 Angular 文件的 Express 应用知道有效的 URL 模式,如果 URL 与定义的模式不匹配则发送 404。但是,如果 URL 匹配上述无效 URL 的模式,则 Angular 会使用 window.location.assign
导航到新页面。
总的来说,在我看来,这对于 SEO 来说不是很好的设置(但对于用户来说,这很好)。我们正在将自托管 Prerender 集成到我们用于 SEO 的 Angular 部署中。
Prerender在 MIT 许可下是开源的。
We host this as a service at prerender.io but we also open sourced it because we believe basic SEO is a right, not a privilege!
关于AngularJS SEO for 404 Status for Document Similar to This Website,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41547213/
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我有自己的网站并且存储了图片,但是当我尝试在 leagueoflegends.com 等网站的帖子上分享它们时,链接显示但图片不显示,这在我试图将我的图片发布到的所有网站中都会发生,我也使用图像链接:
我有一个 Web 服务器,我在其上应用不同的重写规则以重定向所有 http(s)://*.website.com对同一 URL 的请求:https://website.com .一切都按预期正常工作。
我为网站生成的证书有问题(在此处称为website.com)。 我可以输入浏览器http://www.website.com,并根据需要成功重定向到https://website.com(使用let'
现在我的网站是基于 PHP 和 Mysql 构建的。将其视为一个论坛。现在,当用户在我的网站 1(例如 www.website1.com)中发布回复时,我希望能够在我的姐妹网站中显示起始线程及其相关回
如果我通过 website.com 登录,然后输入 www.website.com,它不会显示我已登录,我必须再次执行此操作。有什么问题吗? 最佳答案 这是正常的。 session cookie 适用
我对 PHP 编码有些熟悉,但现在我正在使用 phpMyAdmin,并且在最基本的事情上遇到了问题。 我想使用给定的网站链接+零件号更新网站链接。 partnumber 在同一个表中给出。像这样的事情
我想将所有来自 www.website.com/whatever 的请求重定向到没有 www 的变体。如何在 Rails 中执行此操作?最佳方法是什么? 最佳答案 对此有两种选择。如果您想在 rail
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: What’s the point in having “www” in a URL? 您好,我几乎没有拥有网
我可以将 website.com/index.php 重定向到 website.com/home 但我找不到重定向 website.com< 的方法 到 website.com/home 我试过 Re
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
历经千辛万苦,我终于在我的网站上安装了 SSL 证书。现在,我可以添加 secure:always 行到 app.yaml 文件,它将所有链接重定向到 https。这很好用,除了 GAE 上的自定义域
如果 Google 的关键字规划器向我显示关键字“Web Design [city-name]”获得约 880 次搜索,而“Website Design [city-name]”获得约 620 次搜索
我知道这是一个开放式问题,但希望在线程被锁定之前它能得到一些好的答案... 我想知道有什么方法可以从客户端的角度以编程方式检查(与语言无关)网站是否在线(假设您不能对站点/服务器进行更改,但您可以依赖
我很好奇如何使网站移动设备友好..那么什么是最佳尺寸以及我如何让网站弄清楚它们是否在移动设备上。我还需要对我的设计和编码进行哪些限制才能使页面更无故障且加载速度更快... 最佳答案 这里真的有两个主要
我被要求找到一种明智的方法,让大多数流行网站检测我们的浏览器——它功能完整,但运行在相当受限的硬件上——作为“移动”浏览器。这个想法是,最流行的网站似乎都有移动版本,它的渲染速度更快,更适合屏幕。 我
有没有办法检测手机和手持设备上的 3G 和 2G 连接? 例如,如果我想在用户使用 3G 时提供高端网站,如果用户使用 2G 则提供高度优化的网站。 最佳答案 在 Android 2.2+ 中,有一个
我想添加一些统计数据——用户向其他用户发送了多少消息。现在,用户将转到他的面板并看到该号码。我应该执行吗 SELECT count(*) from MESSAGES where id=user.id
我已经在我的 php 网页中添加了代码,例如... 比之后 https://developers.google.com/speed建议 指定字符集 避免在元标记中使用字符集 最佳答案 使用 HTTP
我可以在我的移动网站中使用 cookie 或 session 对象来控制从 PHP 页面登录吗? 最佳答案 是的。 手机使用的网络浏览器通常支持 cookie(除非手机真的很旧),因此基于 cooki
我是一名优秀的程序员,十分优秀!