サポート » インストール » Forbidden エラー

  • 先日、サイトを移転しました。

    新サイトの環境は、
    http://www.xtwo.ne.jp/ のアドバンスドプラン
    PHP5.3.3
    MySQL 5.0.77

    移転でやったことは、新サイトで、サブディレクトリに新規インストール。
    旧サイトの phpMyAdmin からデータをエクスポート、新サイトへインポート。
    ディレクトリ名が違うので、WordPress の設定変更と .htaccess の書き換え。
    もちろん、ネームサーバの書き換えもやりました。
    ブラウザでチェックしたところ、リンク切れや表示されない画像もなく、ダッシュボードにもアクセスでき、上手くいったように見えました。

    ところが、しばらくして更新する内容が出てきたので固定ページを編集し、更新ボタンを押したところ、ブラウザが

    Forbidden

    You don’t have permission to access /home/wp-admin/post.php on this server.

    というエラーを吐きました。
    suEXEC なサーバなので、post.php を 644 から 604 とか 600 とか 606 とか 700 とか色々変更してみるも何も変わらず。
    関係あるかどうか分かりませんが、php.ini の register_globals や allow_url_fopen を On にしてみるも、やはり上記エラーが。
    PHP のバージョンを 5.2.17 にしてもダメ。
    プラグインを全て無効化してもエラー。

    固定ページだけでなく、投稿記事の編集画面でも同じエラーです。
    テキストウィジェットを編集しても、エラーは出ませんでしたが、輪っかがグルグル回りっぱなしで、保存される様子がないです。

    色々やっているうちに、何故か、ある固定ページでは、画像パスへのリンクを http でなく相対パスにすると、エラーが出ずに正常に保存されることが分かりました。
    また、別な固定ページでは、外部リンクと JavaScript のコードを外すと正常に保存されました。

    これは一体何が原因なのでしょう??

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

    下記のようにやっても駄目ですか。
    http://school.dog-friend.info/?p=366

    私も同じ現象に悩んでいます。。
    wp_postsに画像ファイルのレコードを登録する部分に問題がありそうな気がしますが
    いろいろ試してみて結局わからずです。

    トピック投稿者 wildbird

    (@wildbird)

    レス有難うございます。
    返事が遅くなり、すみませんでした。

    > h1965さん
    現在、サイトは本番環境で動いており、移転作業のし直しが出来ない状況です。
    時間があれば、別なディレクトリで再度やってみようと思っていますが。
    そちらでエラーが発生しないようであれば、ディレクトリを切り替えるだけで済むので、やってみる価値はありそうですね。

    > fvillageさん
    リンクにしろ、imgタグにしろ、httpから始まるURLがあるだけで保存できなくなるってのは一体何なんでしょうね。
    今のところは、外部リンクがないページの更新だけで済んでいるので、何とかなってますが、どうしても httpを入れなくてはいけないページを更新することになったら、直接データベースのデータを修正するしかなさそうです><

    このトピックはまだ閉じないでおきますので、解決策が見つかったら是非教えてくださいませ。

    >wildbirdさん
    私のほうではエラーになるのは絶対パスのimgタグだけなんです。。
    aタグは外部リンクでも内部リンクでも更新できてます。
    うーん。。かれこれ丸1日ハマってしまっています。。

    トピック投稿者 wildbird

    (@wildbird)

    そうですか・・・
    私の方では、aタグ、imgタグ、scriptタグで発生しています。

    今日、外部リンクを更新する必要が出てきて、さあどうしよう!と考えて色々やっていたら、1つの方法で解決することが分かりました。

    「http」が入っているとエラーが出て保存出来なくなるので、まず、http:// を削除して保存します。
    ブラウザから見るとリンク先が相対パスのようになって、当然 404エラーになりますが無視します。
    そして、もう一度編集画面から http:// を入れて保存します。
    なんと、あれほど 403エラーで保存出来なかったのが、すんなりと保存出来てしまいました!

    根本的な解決ではありませんが。

    これは、データベース(インポートしたデータ)に何か不要なコードが挿入されているんでしょうか?
    この後、調べて何か分かったら報告させていただきます。

    追記:違いましたw 編集画面で表示されているHTMLコードとphpMyAdminで表示されるデータは同じものでした^^;

    どうもXSERVERで起きる現象のようですね??
    こんなときは「XSERVER wordpress Forbidden」でグーグル検索してみてください。

    参考:
    X Server で403 Forbidden エラー « cocoa
    http://cocoa.s138.coreserver.jp/wp_1/?p=193

    WordPress › フォーラム » インストール、ログインは出来たのですが…
    http://ja.forums.wordpress.org/topic/1321?replies=2

    WordPress › フォーラム » 403 Forbiddenとなり自分のHPが表示されない
    http://ja.forums.wordpress.org/topic/8738?replies=4

    WordPress › フォーラム » URLの設定
    http://ja.forums.wordpress.org/topic/3491?replies=18

    この辺が解決の糸口になるかと思います。

    トピック投稿者 wildbird

    (@wildbird)

    長らく悩んでいた問題が本日やっと解決しました!

    たまたま、以下の記事を見つけました。

    http://ja.forums.wordpress.org/topic/12003

    私が使っている X2サーバでも WAF が導入されており、6つある対策(XSS対策、SQL対策、ファイル対策、メール対策、コマンド対策、PHP対策)のうち、「XSS対策」を OFF にすることにより、403エラーになることなく、正常に書き込み出来るようになりました。

    最近では、phpMyAdmin から直接フィールドを編集して、リビジョンで復元なんてことをやっていましたから、解決したことは助かります。しかし、リスクを高める結果にもなってしまいました。
    「XSS対策」を OFF にすることなく、403エラーを回避することは出来ないものでしょうか?

    このトピックは、もう少し閉じないでおきます。

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