javascript - 有没有办法阻止链接打开但仍被索引?

标签 javascript html ajax

我开发了一个原型(prototype)网站,它的工作方式类似于应用程序(为了用户舒适度),当您单击“链接”时,它会滑到一侧,并且“第二屏幕”会通过 AJAX 加载内容。

我希望我的网站能够维护此功能,但也让我的页面充当“普通页面”,因为我可以有“/about”“/search”等,因为这将对 SEO 目的有很大帮助。

我是否忽略了一些显而易见的事情,或者这只是目前的一个梦想?

编辑:抱歉不包括我当前的尝试: 到目前为止,我已经尝试使用 JavaScript 读取 URL 并使用它来显示正确的页面。虽然我在这方面取得了成功,但我仍在寻找更多信息,因为这与确保网站可以出现在 Google 上等密切相关。

最佳答案

这通常是通过将所有请求重定向到一个页面(您的应用程序运行的位置)来完成的,然后让 JavaScript 应用程序根据当前 URL 确定要显示的页面。

如果您使用 apache,则可以使用 .htaccess 规则完成重定向,如下所示:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

这确保所有不指向现有文件或文件夹的请求都将由index.php(当然也可以是index.html)处理。

然后在 javascript 中使用 window.location.pathname 并根据此确定要显示的页面。

您还必须确保在加载不同页面时更新此位置。这可以通过使用 history.pushState() 来完成和 history.replaceState()方法。

或者,对于 javascript 部分,您也可以使用框架,例如 vuejs ,这对于构建此类网站/单页应用程序非常有用。

关于javascript - 有没有办法阻止链接打开但仍被索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61867299/

相关文章:

ajax - 如何将 axios 添加到 React-redux-universal-hot-example 入门套件中?

javascript if - else 快捷方式不起作用?

javascript - 如何在两个独立的后端之间同步数据?

javascript - 允许在之后重复插入,但在之前则不允许

Javascript - 切换元素只能以一种方式工作! URL append 还需要帮助

javascript - Jquery Ajax 调用 HTML5 历史记录和后退按钮

javascript - 如何停止 jQuery 将 html 实体转换为有效的 HTML?

javascript - SpyOn 单独导出 ES6 函数

html - CSS 与 Select 元素的跨浏览器兼容性

javascript - 为什么这个 SVG 元素中有隐藏的文本节点?