web-dev-qa-db-ja.com

Wordpress 403/404エラー:このサーバーの/wp-admin/themes.phpにアクセスする権限がありません

背景:

今週私は6つのブログをセットアップしました。すべてWordpress 2.92を使用し、Hostgatorを使用したベビークロコットプランにFantasticoをインストールしました。

各ブログに同じテーマ(ヒートマップ2.5.4)とプラグインを使用しました。

それらはすべて稼働しており、問題はまったくありませんでした。

今朝、同じ設定を使用して新しいブログを作成しに行ったところ、テーマの設定を変更しようとすると、次のエラーが発生します。

Forbidden

You don't have permission to access /wp-admin/themes.php on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8n DAV/2 mod_fcgid/2.3.5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 Server at http://www.mydomain.com Port 80

私はWPをアンインストールしてクリーンインストールを実行しましたが、クリーンインストールでも同じ問題が発生しました。

それで私は戻って、先週かそこらでセットアップした他の6つのブログをチェックしました。また、テーマ設定を変更しようとすると、403または404エラーが表示され、どちらかのテーマを指すエラーが発生するたびにエラーが発生します。 phpまたはfunctions.php

この時点で、私は問題が何であるかを理解しようとしている途方に暮れています。 Hostgatorのサポートがそれを見て、それはおそらくアクセス許可の問題だと考えていましたが、それらはそれらをリセットしましたが、私はまだ問題を抱えています。

最初は、問題がその朝前の6つのブログに最近インストールしたプラグイン(ByREV Fix Missed Shedule Plugin)に関連している可能性があると考えました。WP 2.92、数ヶ月前に作成したブログもチェックしましたが、同じテーマとプラグインを使用していて、今も同じ問題が発生しています。

何か案は?私はhtaccessを削除し、空白のものをアップロードし、hostgatorフォーラムで見つけたこのスニペットでアップロードしました:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

何もうまくいきませんでした。それでも毎回403または404エラーが発生します。昨日すべてが完璧に機能していたので、この設定が機能することはわかっています。何かをどこかに変更しただけで、それが何なのか無知です。

ここで関連するスレッドを読み、wp-contentフォルダーを0755にchmodしてみましたが、まだ問題があります。

何かご意見は?ありがとう!

7
Glen

あなたが得ている最初のエラー-アクセス権-は最も示唆的です。 wp-contentとwp-adminを777にバンプして試してみて、それが機能する場合は、両方を755に戻し、それでも機能するかどうかを確認します。フォルダーのアクセス許可を変更するために何を使用していますか? FTPクライアント?

0
markratledge

数年遅れましたが、同じ問題があるWordPressの最新バージョンの解決策があります(WordPressで生成された.htaccessファイルがサイトを破壊し、403 Forbiddenエラーメッセージで再利用されます)。 WordPressがそれを作成するときのようです:

# BEGIN 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>

# END WordPress

問題は、条件が機能しないことです。探しているモジュールが.cではなく、.soであるため、機能しません。これはプラットフォーム固有、または構成固有の問題であり、Mac OSおよびLunix Apacheのインストールが.so AKA '共有オブジェクト'モジュール用にセットアップされていると思います。 .cモジュールを探しても条件に違反しないはずです。それはバグだと思いますが、それは問題です。

mod_rewrite.cmod_rewrite.soに変更するだけで準備完了です。

# BEGIN WordPress
<IfModule mod_rewrite.so>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress
21
Dakota

私たちはtechies helpの答えを見つけました。それはhtaccessの問題です...

http://www.techieshelp.com/you-don%E2%80%99t-have-permission-to-access-wp-adminpost-php-on-this-server/

3
allen white

ただフォローアップするだけで問題は解決しました!私はサーバーのmod_sec設定を提案された犯人の可能性があると述べ、彼らはこの問題を修正することができました。サポートに行くときに技術担当者が彼らに言ったのは次のとおりです。

Mod_secルールにヒットするdomain.comのホワイトリスト340163が必要であることを彼らに知らせてください。

どうやら、問題が発生しているドメインごとにこれを行う必要がありますが、機能します。みんなの提案をありがとう!

2
Glen

あなたは幸運の芽にいます...私は同じ問題を抱えていましたが、その問題に関するより多くの技術知識を持っていて、それはホストゲーターが自分で修正/ホワイトリストを作成する必要があるmod_secの問題であると判断できました。自分ではできません。ホストゲーターの技術者にサーバーのmod_sec設定を確認するよう依頼してください。

修正された問題をお楽しみください; D

1
Tony

私は同じ問題を抱えていましたが、上記の何もうまくいきませんでした...本当に簡単な解決策を試してください...

.htaccessファイルをバックアップします。ルートディレクトリから削除します。次に、それらのディレクトリにアクセスしてみてください。ファイルにあった書き換え条件が原因で、これらのアクセスの問題が発生した可能性があります。ほとんどのホストでは、インデックスページが自動的に取得されます。 :P

0
Alexandru

これに関する多くの投稿がウェブ上にあるので、うまくいけば人々はこの答えを見つけるでしょう。多くの人々はそれが.htaccessの問題であると提案しました、そして私にとってはそうでした。ただし、wp-adminフォルダーの.htaccessではなく、ルートの.htaccessを調べていました。通常、私は特にターミナルサービスを介してこのサイトで作業しているため、起動して再びログインできなくなったとき、自宅のコンピューター(およびIP)からアクセスしようとしていました。

ばかげて、wp-admin .htaccessファイルに置いたIP制限を忘れてしまいました。

AuthName "Protected"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from 11.11.11.11
</Limit> 

Wp-admin .htaccessファイルにこのようなものがある場合、作業しているすべてのサイトが同時に機能しなくなった理由を簡単に説明できます。インターネットプロバイダーは時々IPをローテーションして、誰もそれを支払うことなく自宅からサーバーを実行しないようにします。

0
Buck Rackley

試しましたか:

<Directory /path/to/your/wp-admin>
Order allow,deny
Allow from all
</Directory>
0
Mitch Dempsey

CPanelからModSecurityを無効にしてみてください。 cPanelにログインします。カテゴリ「セキュリティ」を見つけます。そこにModSecurityリンクがあります。それをクリックして、403エラーが発生しているドメインに対して無効にします。

一部の403エラーは、この方法でも解決できます。 wordpressダッシュボード、設定>パーマリンクに移動し、[保存]をクリックするだけです。

これがお役に立てば幸いです。 :)

0
Nimezzz