3

htaccessで次のようにしました。

ErrorDocument 404 http://www.website.com

私の最初の質問は、私がこれをしても大丈夫ですか?

404 をホームページにリダイレクトする際に SEO などの問題がある場合は、お知らせください。

2 番目の質問:

問題は、私は 1 ページのサイトを持っていて、それを維持したいということです。

私がやりたいことは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

ありがとうございます。

私はこれを少し違ったやり方で終わらせました。有用性のためにここに投稿します。

HTACCESS:

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

Jクエリ:

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

これで、404 エラーが発生するたびにナイス div がスライドダウンします。

于 2012-12-19T10:16:06.367 に答える