WordPressの質問です。

記事のパーマリンクを変えたんですが、そのため記事を読みこまなくなりました。
デフォルトのテーマでも読み込まないので、パーマリンクかサーバか.htaccessのいずれかが原因だと思います。
パーマリンクは/%post_id%/%post_name%/
サーバはロリポップ!
.htaccessはWordPressが吐き出したものをそのままコピペしています。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
原因がわからなくて困っています。
よろしくお願いします。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/10/06 05:19:27
  • 終了:2012/10/11 09:05:13

ベストアンサー

id:fut573 No.4

fut573回答回数195ベストアンサー獲得回数542012/10/07 23:28:35

ポイント120pt

とりあえず、コメント欄での問題切り分けの途中結果をまとめておきます

  1. エラーは404ではなく400 bad request
  2. .htaccessのパーミッションはチェック済み
  3. プラグインの停止はチェック済み
    1. プラグインが原因ではない
  4. 問題が発生するのは%post_id%のみcategoryやpost_name等は使える
    1. 日本語URL等の長すぎるURLの問題ではない
    2. カスタム構造が反映されないわけではない
  5. post_idが他のスラッグ名等とぶつかっていないか確認のためにp%post_id%/%post_name%/で確認したが無理であった
  6. 独自ドメインを使用している
id:snoopy_japan

はい、その通りです、
自分でもだいぶ検索して調べているんですけど、それでも無理です。

あと追加で独自ドメインを使っています。

2012/10/07 23:42:59

その他の回答(4件)

id:oil999 No.1

oil999回答回数1728ベストアンサー獲得回数3202012/10/06 11:07:28

ポイント20pt

.htaccess を以下のようにしてみてください。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^wordpress\/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
id:snoopy_japan

いえこれでも無理でした。

2012/10/06 12:39:46
id:pigmon88 No.2

pigmon88回答回数501ベストアンサー獲得回数252012/10/06 15:48:31

ポイント20pt

ロリポップで.htaccessを設定する場合は以下の指示に従ってください。

http://lolipop.jp/manual/hp/htaccess/

以前、ロリポップでwordpressをパーマリンクで使ってましたが、ちゃんと機能してました。あとブログのアドレスがトップでない場合は、教えてください。

id:snoopy_japan

この辺は目は通しています。
独自ドメインはしようしています。

2012/10/07 03:30:11
id:sanada33 No.3

みかん回答回数293ベストアンサー獲得回数32012/10/06 19:40:16

ポイント20pt

具体的には、
新規投稿時に、記事のタイトルを入力すると、タイトル入力欄の下に”パーマリンク(記事のURL)”が表示されます。



このパーマリンクは、一部編集することが可能です。

パーマリンクに日本語が表示されている場合、ユーザーの環境によっては、ページが正しく表示されないことも考えられますので、出来るだけ、半角英数字に変更することをおススメします。

パーマリンクの変更方法は、以下の通りです。

1.記事タイトルを入力します。(既に投稿済みの記事の場合は必要有りません。)

2.パーマリンクが表示されたら、パーマリンク表示の右端にある、[編集]ボタンをクリックします。

3.変更可能な部分が編集可能になりますので、アドレスを入力します。

4.[Save](又は、[保存])ボタンをクリックします。



以上でパーマリンクの変更が可能です。

※既に投稿済みの記事のパーマリンクを変更する際は、他の記事や他サイトからリンクをされている場合、リンク切れになる可能性が有りますので、ご注意ください。

id:pigmon88

コピペやん。http://www.allfine.jp/build/permalink

2012/10/06 20:12:14
id:snoopy_japan

コピペなのはいいのですが、、これならURLを貼ってくれるほうありがたいです。

2012/10/07 03:34:40
id:fut573 No.4

fut573回答回数195ベストアンサー獲得回数542012/10/07 23:28:35ここでベストアンサー

ポイント120pt

とりあえず、コメント欄での問題切り分けの途中結果をまとめておきます

  1. エラーは404ではなく400 bad request
  2. .htaccessのパーミッションはチェック済み
  3. プラグインの停止はチェック済み
    1. プラグインが原因ではない
  4. 問題が発生するのは%post_id%のみcategoryやpost_name等は使える
    1. 日本語URL等の長すぎるURLの問題ではない
    2. カスタム構造が反映されないわけではない
  5. post_idが他のスラッグ名等とぶつかっていないか確認のためにp%post_id%/%post_name%/で確認したが無理であった
  6. 独自ドメインを使用している
id:snoopy_japan

はい、その通りです、
自分でもだいぶ検索して調べているんですけど、それでも無理です。

あと追加で独自ドメインを使っています。

2012/10/07 23:42:59
id:taroe No.5

taroe回答回数1099ベストアンサー獲得回数1322012/10/08 00:59:07

ポイント120pt

1,2,,3,4とやってみました、どうもpost_idは読み込まないみないです、
今のところ、category、post_nameで構造してみました。
なので、カスタム構造そのものも動いています。


結局記事のURLはどう展開されてるのでしょうか?
「post_idは読み込まないみないです」というのは
「%post_id%」のまま、URLとして展開されてるということでしょうか?


もしそうなら、私は経験したことがあります。

パーマリンク設定
・日付と投稿名
・数字ベース
・カスタム構造


カスタム構造以外に用意されているものを選択して
一旦保存。
カスタム構造で再度設定

これを数回繰り返してるうちに
できるようになりました。


サーバーはロリポップの300円ぐらいのプランを使用しています。

他1件のコメントを見る
id:snoopy_japan

何回か繰り返したら、今度は500エラーが出るようになりました、、

2012/10/08 01:11:49
id:snoopy_japan

500エラーはうち間違えが原因でした。
ただどうも動作が不明なんで
/%category%/%postname%/で設定しました。

2012/10/08 01:52:37
  • id:rouge_2008
    サイト表示時に投稿記事がまったく表示されないという事ですか?
    固定ページの方は表示されますか?
    こちらでは「/%post_id%/%post_name%/」でも表示されますので、パーマリンクの設定自体に問題はないと思いますが、パーマリンクを元の「デフォルト」に戻すとどうなるでしょうか?
    「カスタム構造」ではなく「数字ベース」や「投稿名」にしたらどうなるかも確認してみてください。
  • id:rouge_2008
    それから、「/%post_id%/%post_name%/」だとIDが含まれていますので、パーマリンク変更の理由(※サーバー移行等によるID変更に対応)を解決できません。
    別のパーマリンクにした方がいいように思います。
  • id:snoopy_japan
    固定ページの表示は出来ます。
    また、数字ベースや投稿名でも表示は出来ています。
  • id:fut573
    /p%post_id%/%post_name%/
    では動きますか?
    動くならばポストidの数字がカテゴリーかタグかアーカイブあたりとぶつかっている可能性が。
  • id:fut573
    例えば /2012/ とかを閲覧した時に post_id 2012番なのか、それとも 2012年のarchiveなのかがわからないようなパーマリンク設定だと環境によっては個別記事が表示されなくなった気がします。
  • id:snoopy_japan
    /p%post_id%/%post_name%/は無理でした。
    カスタム以外なら動くのですが、できればカスタムにしたいのでお願いします。
  • id:fut573
    ぱっと思いついた確認方法は
    1.htaccessのパーミッションを一時的に777に書き換えてみる
    2.拡張機能が悪さしている可能性があるので、プラグインを一時的に全部OFFしてみる。
    3.カテゴリーベースに /%category%/ タグベースに /*tag*/ を入れてみる
    4.数字ベースや投稿名等の既存の設定と同じデータをカスタム構造に入れてみた場合はどうなるかを確認してみる(カスタム構造が反映されないだけなのか)
    5.「二重パーマリンク wp」で検索して出てくるのと同じ事をやってないか確認してみる
    あたりでしょうか。
  • id:snoopy_japan
    1,2,,3,4とやってみました、どうもpost_idは読み込まないみないです、
    今のところ、category、post_nameで構造してみました。
    なので、カスタム構造そのものも動いています。

    あと表示されるURLは404ではなく、400です。
  • id:rouge_2008
    トップページ(ホーム)にも投稿は何も表示されないのでしょうか?
    テーマのheader.phpの適当な場所に「<?php var_dump($wp_query); ?>」を記述して、メインクエリの状態を確認してみてください。
    トップページの他、個別投稿ページ、カテゴリーアーカイブ、年月別アーカイブにもアクセスしてみてください。
    それぞれのページで「is_*****」は、どれがtrueになっていますか?
  • id:fut573
    うーん。初めて見るケースですね。
    とりあえず、ategory、post_nameで、動いているとのことで、postIDを使うことにこだわりがなければ、最低限ブログを運営することはできそうですね。
    post_idが使えない理由についてはちょっと考えてみます。
  • id:fut573
    エラー自体は、ひとつのサイトに複数のWPをインストールした時なんかは時々見かけるもので、有名なプラグイン、head_cleaner memcached あたりはこれで引っかかってしまう人が時々いるのですが、今回の場合プラグインをOFFにして確認しても駄目だったようなのが……
    サーバー側の問題だったら、ロリポップの設定画面から、PHP設定に行きAPCをOFFにして様子を見る。
    400ならブラウザ側の問題である可能性もあるので、クッキとキャッシュのクリアや他のブラウザでの閲覧チェック。
    これで駄目ならちょっと原因わからないですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません