サポート » 使い方全般 » 日付と投稿名でエラー404になります

  • 解決済 q-taro

    (@q-taro)


    パーマリンク設定に関するトピックは検索して確認しましたが、
    私の現象に該当するものがなかったのので質問致します。

    ★現象:
    パーマリンクの設定にて、「日付と投稿名」を選択すると、エラー404となり表示出来ません。
    それ以外、「デフォルト」、「月と投稿名」、「数字ベース」では正常に表示されます。
    エラーはWordPressのもので、「エラー404 – 見つかりませんでした」と表示されます。

    ★確認事項:
    WordPressのバージョンは2.8.4です。

    自宅サーバー(Apache 2.2.9)に新規でインストールを行いました。
    データベースはPostgresql(8.3)を使っています。
    PG4WPと言うプラグインで通常の書き込み、読み込み等は出来ています。

    Apacheのmod_rewriteは有効になっています。
    「パーマリンクの使い方」にあるFollowSymLinksとFileInfo directives(AllowOverride All)は設定しています。

    WordPressは、http://サーバーアドレス/wp/ にインストールしました。
    .htaccessは、http://サーバーアドレス/wp/ に設置しています。
    書き込み権限をつけて、WordPressでの設定変更時に適用されることを確認しました。

    .htaccessの設定は以下になっています。
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wp/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wp/index.php [L]
    </IfModule>

    # END WordPress

    プラグインは、「Akismet 2.2.6」、「WP Multibyte Patch 1.1.4」を使用しています。

    ★参考URL:
    http://wpdocs.sourceforge.jp/Settings_Permalinks_SubPanel
    http://wpdocs.sourceforge.jp/%E3%83%91%E3%83%BC%E3%83%9E%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9
    http://ja.forums.wordpress.org/topic/993?replies=2
    http://ja.forums.wordpress.org/topic/557?replies=3

    「日付と投稿名」で使えるようにするには、他に何か設定が必要でしょうか?
    よろしくお願い致します。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • パーマリンクをその設定したとき、タイトルなどのリンクのuriはどうなってるか確認してみましたか?

    トピック投稿者 q-taro

    (@q-taro)

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

    パーマリンクを設定したときのuriは以下のようになっています。

    タイトル
    ○:test test1 test2
    ●:テスト

    ・デフォルト
    ○http://サーバーアドレス/wp/?p=11
    ●http://サーバーアドレス/wp/?p=13

    ・日付と投稿名
    ○http://サーバーアドレス/wp/2009/09/29/test-test1-test2/
    ●http://サーバーアドレス/wp/2009/09/29/%E3%83%86%E3%82%B9%E3%83%88/

    ・月と投稿名
    ○http://サーバーアドレス/wp/2009/09/test-test1-test2/
    ●http://サーバーアドレス/wp/2009/09/%E3%83%86%E3%82%B9%E3%83%88/

    ・数字ベース
    ○http://サーバーアドレス/wp/archives/11
    ●http://サーバーアドレス/wp/archives/13

    日付と投稿名以外では、アクセスすることが出来ます。

    よろしくお願い致します。

    ちょっと状況が違うかもですが。下記のようなことは違いますかね?
    http://www.powershift.ne.jp/wp/2008/07/27/wordpress-26-permalinks/

    Apachでhtaccessは有効になっていますか?
    mod_rewrite以外の設定を行ってみてphpinfoなどで有効になっているか確認してみてはいかがでしょう。
    モジュールにパスが通っていないとかないですよね・・・?

    トピック投稿者 q-taro

    (@q-taro)

    kvex様

    ご紹介いただいた記事とはバージョンが異なるため、index.phpがからむ問題ではなさそうでした。

    トラックバックにあった記事の中で、
     1.%post_id%を含める
     2.%post_name%で独自スラッグにする。ただし重複する可能性があるので他の何かも指定した方がいい?
     3.年月日時分秒まで指定する

    とあったので、試しに設定してみましたが、うまく行きませんでした。

    shokun0803様

    Apacheではhtaccessは有効になっていると思います。
    phpinfoで確認したところ、
    「apache2handler」のLoadedModulesに、mod_rewriteが含まれていました。

    また、Apacheの設定ファイルの<Directory>セクションで、
    AllowOverrideの設定をNoneに変更すると、Apacheのエラー画面になったことから、
    htaccessは正常に機能していると思います。

    よろしくお願い致します。

    Postgresqlにプラグイン入れて動かしているんですよね?これって情報少ないので不具合あってもわかりづらいですね・・・
    同じサーバー環境でMySqlだったら動くとかないですかね?DBあまり関係ないかなぁ・・・
    もう予測の範囲をでません;)

    トピック投稿者 q-taro

    (@q-taro)

    shokun0803様

    同じサーバー環境で、MySQLをインストールしたところ、正常に表示されました。
    全く同じ設定にしたので、DBに起因する現象のようです。

    月と投稿名では表示できることから、日付に関する部分で問題があるようです。
    データベースの構造を確認すると、
    「wp_posts」テーブルの「post_date_gmt」の値が、PostgresqlとMySQLで異なりました。
    Postgresqlは、00:00:00.000000のような形で、
    MySQLは、00:00:00と言う形で登録されていました。

    プラグインの設定とデータベースのデフォルト値を変更してみましたが、結果は変わらず。

    pg4wpプラグインのdriver_pgsql.phpにある、
    ‘gmt datetime NOT NULL default \’0000-00-00 00:00:00\” => ‘gmt timestamp NOT NULL DEFAULT timezone(\’gmt\’::text, now())’,
    ここを以下の様に設定しました。
    ‘gmt datetime NOT NULL default \’0000-00-00 00:00:00\” => ‘gmt timestamp NOT NULL DEFAULT now()’,

    これでデータベースのデフォルト値は「now()」で同じになりましたが、
    登録されるデータは、00:00:00.000000のままでした・・・

    Postgresqlでも00:00:00の形で読み書き出来れば、ちゃんと表示できるようになるのではないかと
    素人ながらに思うのですが、これ以上はどう設定して良いのやら分かりません。

    MySQLでは正常に表示できることから、MySQLで運用しようと思います。
    長々とお付き合いいただき、ありがとうございました。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「日付と投稿名でエラー404になります」には新たに返信することはできません。