2017-08-13 27 views
0

私は結果にリダイレクトする検索フォームを持っています。そのページが存在しない場合は、404エラーを表示します。どうやってやるの?HTMLの検索バー

私のコード

<center> 
    <input name="txtSearch" maxlength="12" size="25" type="text" class="field" id="txtSearch" /> 
    <div>&nbsp;</div> 

    <div class="button" style="display:inline-block"> 
     <a onclick='window.location.href="" + document.getElementById("txtSearch").value;'> 
      Submit 
     </a> 
    </div> 
</center> 
+0

あなたはどのフレームワークを使用していますか? –

+0

私はそうではありません。を使用して。私はまだ堅実な背景しか持っていない。 –

+0

https://stackoverflow.com/questions/14421303/php-nearest-string-comparison ここでは、最も近い一致文字列を比較するためのソリューションを用意しています。ファイルの名前の配列を作成してループすることができます。 – 3gth

答えて

0

はまず、あなたのアイデアや検索の可能性を理解して間違っているいくつかの長所があることを、表示されます。投稿とコードが示すように、ユーザーは特定のものだけを検索することができます。

:ケニアの10歳の男の子があなたのサイトで終わる - あなたはどのような内容を知っていると思いますか?サイトには?もしそうなら、彼はどうやってそれを見つけようとしますか?うん、彼は検索を使います。

最初にヒットしたのは404で、存在しないものを検索したため、サイトに存在する特定のものだけを検索することしかできないことを知らないためです。彼はあなたのサイトを離れ、自分が望むコンテンツを見つけることができません。

これは検索の機能ではありません。検索ではすべてを検索し、可能なすべての結果のリストを表示し、見つからない場合は丁寧なエラーを表示する必要があります - 特定のページに直ちに再登録しないでください - 代わりに、すべての検索用の汎用ページ、スーパー特有のページは存在しません。

Algoliaまたは他の類似した製品を検索して検索することをお勧めします。あなたの質問の問題(複数可)を修正するには

、しかし...

  1. あなたはボタンのdivのクラス宣言で欠落している引用符を持っています。それを修正するためにQを編集します。
  2. あなたは本当にindendationを使う必要があります。それはあなたのコードを読みやすくし、他の人があなたを助けてくれるように、より魅力的になります。それも編集します。
  3. あなたが必要とするのは、プロジェクトルートの.htaccessファイルで、404ページが定義されています。 404エラーページのパスと名前に合わせて編集したようなものです。 404ページを他のページと同様にデザインし、開発します。この、hoveverは不足しているページのすべてに適用されますので、スタイルやビルド内容は適切です(なぜ検索結果ページが優れているのかをご覧ください)。あなたが検索周りのフォームを構築することができ、また

    error_page 404 /404.html;

  4. を、そして:あなたはnginxの代わりのApacheを使用することが起こる場合

    ErrorDocument 404 /404.html

  5. 、代わりにサーバー構成でこれを行いますユーザが検索する文字列の空白の単語であるクエリ文字列をあなたのPHPスクリプトに送ります。これは、結果が表示されるかどうかを判断したり、適切なコンテンツを表示したりすることはできません。アルゴリアまたは同様のもの - ju st解析し、適切な形式でコンテンツをフィードします。