4

.htaccess 自体が変更され、Web サイトで 500 - 内部サーバー エラーが発生するという問題があります。この変更は 2 日おきに発生します。

元の .htaccess ファイルは次のようになります。

# 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

そして、それ自体が変更された後、次のようになります。

# 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

基本的に、この行は上記の行の末尾に移動されます。

<IfModule mod_rewrite.c>

私たちのウェブサイトは数週間前にハッキングされ、フィッシングに使用されました。私たちのホストはそれをシャットダウンし、私たちは彼らが私たちのウェブサイトを再開するのに十分だと感じた変更を加えました. 私たちは変わった...

  • WordPress の最新バージョンに更新しました (通常は最新の状態ですが、数日遅れています)。

  • 2 つのセキュリティ プラグイン (Better WP Security と Bulletproof Security) をインストールしました。

  • また、脆弱性の原因である可能性があると思われるフォーラム プラグインを削除しました。

  • 両方のセキュリティ プラグインが削除されました。

  • htaccessファイルのパーミッションを変更しました

サイトが再びダウンする (500 サーバー エラー) という余裕はありません。.htaccess が変更される原因となっている可能性のある、見逃したものはありますか? 注: 変更した htaccess ファイルを元のファイルに置き換えると、500 サーバー エラーが修正されます。

4

3 に答える 3

1

この問題は、2つのセキュリティプラグイン間の相互作用が原因である可能性があります。たぶん、それらの1つを無効にすると、問題が解決します。

htaccessを保護する別の方法は、rootユーザーに割り当てるか(許可されている場合)、読み取り専用にすることです。もちろん、根本的な問題を解決するわけではありませんが、少なくとも効果は含まれています。

于 2013-02-07T16:26:50.220 に答える
1

2 つのセキュリティ プラグインをざっと見てみると、Bulletproof Security は .htaccess ファイルに多くの手を加えています。個人的には、プラグインに .htaccess を触らせることは決してありません。プラグインにバグがあると、500 サーバー エラーでサイトがオフラインになる可能性があるからです。

Bulletproof Security を無効にした後、プラグインが .htaccess で何をしようとしているのかを調べ、手動でファイルに追加します。

または、次のように、最初のコメントと次の行の間に余分な行スペースを追加してみてください。

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

最後に、サーバーにインストールされていることがわかっているため、「IfModule」を完全に削除できます。

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
于 2013-02-06T21:10:42.713 に答える