.htaccessの内容が勝手に変わる

.htaccessに書いていた内容がいつの間にか変わっている・・・

WordPressの記事およびメディアファイルにベーシック認証」で書いた内容に沿って、カスタムフィールドを使ってチェックを付けたページにはベーシック認証がかかる様にしていたところ、いつのまにか .htaccess の内容が勝手に変わってしまっていました

元々書いていた内容が↓

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
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

ベーシック認証でユーザー名とパスワードを入力しても通らなくなってしまったので調べてみたところ、「# BEGIN WordPress」と「# END WordPress」の間に書いたものはWordPressの自動更新で消えてしまうことがあるそうです。

今頃これを知るとは・・・!衝撃!!

この2行は↓

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

RewriteRuleの前に記述しないといけないので、1行目に記述しておきました。
「# BEGIN WordPress」の前です。

なんで今まで知る機会が無かったんだろう・・・。

この記事にコメントを残す