3

我刚刚在 htaccess 中做了以下操作:

ErrorDocument 404 http://www.website.com

我的第一个问题是,我可以这样做吗?

如果将 404 重定向到主页有任何 SEO/等问题,请告诉我。

第二个问题:

问题是我有一个单页网站,我想保持这种状态。

我想做的是div显示一个弹出窗口,作为 404 页面的替代品。

所以基本上 404 被重定向到主页,然后弹出一个弹出窗口,其中包含任何 404 消息。

我怎么能触发弹出窗口?jquery 代码必须以某种方式知道用户由于 404 而最终到达这里。这甚至可行吗?

(我可以管理弹出窗口本身,但如何告诉它在 404 发生后显示。)

4

3 回答 3

6

您可以将查询字符串添加到用作 404 页面的 URL。

.htaccess

ErrorDocument 404 http://www.website.com?page=fourOhFour

然后,检查变量是否设置为正确的值,如果是,请在 javascript 中创建一个变量。

Javascript/PHP

<script>
  is404 = "<?php echo $_GET['page'] ?>";
  if (is404 === "fourOhFour"){
    // jQuery popup code here
  }
</script>
于 2012-12-19T02:19:05.580 回答
2

扩展克里斯赫伯特的答案

仅使用 JS:

<script>
  var is404 = location.href.search(/(\?|&)page=fourOhFour(\&|$)/g) =! -1;
  if ( is404 ) {
      // jQuery popup code here
  }
</script>
于 2012-12-19T02:44:09.727 回答
1

谢谢各位,非常感谢。

我最终这样做略有不同。为了有用,我会在这里发布。

访问:

 ErrorDocument 404 http://www.website.com/#404-not-found

查询:

 if (window.location.hash == '#404-not-found') {
 setTimeout(function () { 
 $("#pageNotFound").slideDown(2222, 'easeOutBounce'); 
 }, 2888);  //delay
 }

所以现在只要出现 404 错误,一个漂亮的 div 就会向下滑动。

于 2012-12-19T10:16:06.367 回答