• 解決済 SWD

    (@swd)


    ページ送りで404になるケースは様々で、方法もいろいろあったので
    調べてはみたのですが解決に至らなかったため質問させていただきます。

    カスタムフィールドの値と記事タイトルをマージさせて
    1つの入力フィールドで検索させるようなカスタマイズを行い、
    得られた記事IDを配列で検索するようなシチュエーション

    $paged = get_query_var( 'paged', 1 );
    parse_str( $query_string, $args );
    $args = array(
        'post_type'   => 'post',
        'post_status' => 'publish',
        'post__in'    => $post_ids,
        'cat' => (string)htmlspecialchars(addslashes($_GET["cat"]),ENT_QUOTES),
        'paged'=>$paged
    );

    において、
    http://www.●●●.com/?page=2&s=hoge&cat=0
    は正しく遷移するのに対して、
    http://www.●●●.com/page/2?s=hoge&cat=0
    では404となってしまうようです。

    また、キーワードが1つもない場合
    http://www.●●●.com/page/2?s=&cat=0
    であれば、遷移はできることも確認しております。

    このような現象の解決策を御存知の方がいらっしゃいましたら
    是非ご教示いただけますでしょうか。
    よろしくお願い致します。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック投稿者 SWD

    (@swd)

    書きそびれておりましたが、ループは
    WP_Queryでは検索結果がいろいろおかしかったため、
    query_posts( $args );
    で行っております。

    http://www.●●●.com/?page=2&s=hoge&cat=0
    は正しく遷移するのに対して、
    http://www.●●●.com/page/2?s=hoge&cat=0
    では404となってしまうようです。

    http://www.●●●.com/page/2?s=hoge&cat=0

    と同じクエリー条件となるのは、

    http://www.●●●.com/?paged=2&s=hoge&cat=0
    ※ paged になる

    です。

    トピック投稿者 SWD

    (@swd)

    ご返信ありがとうございます。

    http://www.●●●.com/page/2?s=hoge&cat=0

    と同じクエリー条件となるのは、

    http://www.●●●.com/?paged=2&s=hoge&cat=0
    ※ paged になる

    はい。勘違いしておりました。
    調べているうちにそのあたりに行きつきました。

    実際に、
    http://www.●●●.com/?paged=2&s=hoge&cat=0
    の形式でアクセスすると、こちらも404になることを確認しました。

    ただ、そうなると逆に
    http://www.●●●.com/?page=2&s=hoge&cat=0
    というので正しい結果が返ってくる
    「page」は何者なのでしょうか?

    とりあえずこれで正しい結果が返せているので、
    このパラメータで遷移させるようにするか、
    これのリライトルールを新たに用意してやれば解決するかなと考えておりますが、
    パラメータの意味合いがわかっていない状態で進めるのも
    気持ちが悪いため、度々でお手数ですがご存知でしたら
    教えていただいてもよろしいでしょうか。

    page は、投稿や固定ページを nextpage でページ分割を行った際、2ページ目以降を表示する際に用いられるものです。

    http://www.●●●.com/?page=2&s=hoge&cat=0
    というので正しい結果が返ってくる

    この場合、page の値は無視されて1ページ目の結果を表示しているケースがありますので、再確認した方が良いかもしれません。

    トピック投稿者 SWD

    (@swd)

    度々のご回答ありがとうございます。

    page は、投稿や固定ページを nextpage でページ分割を行った際、2ページ目以降を表示する際に用いられるものです。

    なるほどです。

    この場合、page の値は無視されて1ページ目の結果を表示しているケースがありますので、再確認した方が良いかもしれません。

    お気遣いありがとうございます。

    確認したところ、2ページ目以降は
    正しく分割された残りの結果が出力されているようでした。

    ひとまずこちらで解決とさせていただきます。
    ありがとうございました。

5件の返信を表示中 - 1 - 5件目 (全5件中)

トピック「【ページング】URLがスラッシュではページが404になる」には新たに返信することはできません。