• 解決済 aki_aqui

    (@aki_aqui)


    wp-pagenaviなどを使った場合に、ページ送りが404エラーになる、という
    現象および、その解決法は様々なサイトに既に載っていると思います。
    今回、私も、そこからつまづいたのですが、プラグインを入れたり、
    コードをいじっても、掲載されている方法を色々試しても、解決出来ませんでした。

    で、他のテーマ(twenty elevenなど)に変更してチェックしてみました。
    すると、やはり404エラーになります。

    つまりどのテーマでやってもエラーになるのです。
    トップページのページ送りはできます。
    アーカイブのページ送りがエラーになります。

    example.com/page/2 は ○
    example.com/カテゴリ/page/2 だと×

    ちなみにサーバにアップ前にローカルで構築したので試したところ
    example.com/カテゴリ/page/2 も表示できました。

    コードの問題ではなさそうです。
    いったい、どこをチェックすればいいのでしょうか?
    推測出来る方おられましたら、お助けいただけませんでしょうか。

    パーマリンク設定は /%category%/%post_id%/ にしています。
    宜しくお願いいたします。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • こんばんは。

    URLを
    A) example.com/カテゴリ/page/2
    から
    B) example.com/category/カテゴリ/page/2
    としてカテゴリーアーカイブページが表示されるか確かめてみてください。

    カテゴリーアーカイブページのURLパターンはB)の方が正しくて、A)の
    パターンはWordPressのいくつかのパージョンでは404エラーになったと思います。

    本番サーバーのWordPressバージョンを確認するといいかもしれませんね。

    トピック投稿者 aki_aqui

    (@aki_aqui)

    tmatsuur様

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

    example.com/category/カテゴリ/page/2
    でやってみましたが、残念ながら状況は変わりませんでした。
    (使用中のテーマおよびtwenty elevenで調べてみました。)

    バージョンですが、
    ローカルは WordPress 3.6.1
    本サーバは WordPress 3.7.1
    を使っております。

    カテゴリー一覧からのページ送りは、やはり必要なので、
    何か良い方法がないかと、引き続き模索中です。

    aki_aqui様
    お役に立てず残念です。

    ページナビゲーション自体は標準機能なので、投稿数さえ満たしていれば
    example.com/category/カテゴリ/page/2
    で、2ページ目を表示できるはずなんです。
    ※aki_aqui様の設定だと末尾に’/’が付くかも。

    あとざっと思いつくのは、
    ・他のプラグインを外す
    ・.htaccessの記述内容を確認する
    くらいですかね。

    トピック投稿者 aki_aqui

    (@aki_aqui)

    tmatsuur様

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

    プラグインを外しても
    example.com/category/カテゴリ/  を表示させようとすると
    example.com/カテゴリ/   にリダイレクト表示されてしまいます。
    (使用中のテーマおよびtwenty elevenで確認)

    自分が、WP構築中に
    category/カテゴリ/ではなく example.com/カテゴリ/
    表示にさせる設定をしたわけですが(苦笑)

    プラグイン解除しても、そうなるというのはどこが原因かわかったりしますか?
    何度もすみません。
    (あきらめて再インストールした方がいいのかも、と思ったりしてます。)

    htaccessの記述は以下の通りです。

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]

    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
    RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    # END WordPress

    管理画面の 設定 -> パーマリンク設定カテゴリーベース の値は設定していませんか?

    設定していたら

    example.com/カテゴリーベースの値/カテゴリ名/page/2/

    ではどうですか?

    aki_aqui様

    以下のことがちょっと気になります。

    自分が、WP構築中に
    category/カテゴリ/ではなく example.com/カテゴリ/
    表示にさせる設定をしたわけですが(苦笑)

    こちらsetup_after_themeアクションあたりで$_SERVER[‘REQUEST_URI’]を
    書き換えるか、リダイレクトさせたりしているのでしょうか。

    私の場合は、リクエスト($_SERVER[‘REQUEST_URI’])が/categoryから
    始まっていないカテゴリーアーカイブページの場合に、/categoryを
    付けるようにして対応しているサイトがあります。
    これはaki_aqui様とは逆のアプローチかもしれませんね。

    私がこのようにしているのは、上記のレスに書いたようにWordPressの
    特定バージョンで/categoryがないとカテゴリーアーカイブページとして
    認識してくれず、404エラーになってしまうためです。

    参考まで。

    トピック投稿者 aki_aqui

    (@aki_aqui)

    Tsuyoshi.様 tmatsuur様

    コメントいただきありがとうございます。
    パーマリンク設定のカテゴリーベース、は設定していなかったのですが、
    共通設定をデフォルトになおしてから、
    (マルチサイトなので)デフォルトで入るblog/を消すために、
    サイトネットワーク管理者(→サイト→編集→設定)の方で
    パーマリンクの設定をしたのを思い出し、それを消したら、
    カテゴリーのアーカイブのページ送りが表示されました!

    tmatsuur様

    何度もありがとうございます。

    自分が、WP構築中に
    category/カテゴリ/ではなく example.com/カテゴリ/
    表示にさせる設定をしたわけですが(苦笑)

    と曖昧に書いてしまったのは、
    category/を消すために、プラグインWP No Category Baseとかを
    使用してる、と自分で思い込んでいたのですが、そのようなプラグインは
    使っていなくて、どうやったか思い出せない!という情けない理由でした。
    スミマセン…

    というわけで、表題の
    ”カテゴリーアーカイブのページ送りを表示する“ことは
    できたので、解決済みとしたいと思います。

    皆様、ひとりでパニくっているところ、助言いただき本当にありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「カテゴリーアーカイブのページ送りがどのテーマでもエラーになる」には新たに返信することはできません。