2

index.phpファイルの先頭に次のコードがあります。

        if ( !isset($_GET['cat']) )
        die(header("Location: ?cat=top"));

基本的に、カテゴリが設定されていない場合は、自動的にカテゴリ「トップ」にリダイレクトされます。

Googleがindex.phpを追加したことに気づきましたが、定義したメタタグではなく、検索結果にURLのみが表示されます。

他のすべてのページは、index.phpファイルだけでなく、完全に正常にインデックス付けされます。これに対する解決策はありますか?

前もって感謝します!

4

3 に答える 3

4

PHPは、ヘッダーを使用するときにデフォルトで302リダイレクトを使用します:Location。グーグルはリダイレクトされた場所を最初の場所と交換しないので、これはSEOを台無しにします。使ってみてください

if ( !isset($_GET['cat']) ) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ?cat=top");
    die();
}

これにより、メタ情報を持つリダイレクトされた場所にインデックスを付けるようにgoogleに指示する必要があります。

于 2012-06-12T10:34:45.197 に答える
2

関数はテキスト/文字列データを出力することができます、私は内dieを呼び出すのを見たことがありません。headerdie

正しいアプローチは次のとおりです。

if ( !isset($_GET['cat']) ) {
    header("Location: ?cat=top");
    die();
}

exit;の代わりに呼び出すことができますdie();

于 2012-06-12T10:32:36.853 に答える
-1

関数を呼び出す必要はないと思いdie()ます。あなたはちょうどのように呼び出すことができます

if ( !isset($_GET['cat']) )
   header("Location: ?cat=top");
于 2012-06-12T10:30:48.490 に答える