ルートの.htaccessファイルには、次のWordpressコードがあります。
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
Wordpressファイルは「wordpress」ディレクトリにありますが、ドメインルートに対してリライトが表示されるため、標準コードとは少し異なります。たとえば、ブログ投稿はsite.com/this-is-a-blog-post.phpと呼ばれ、書き換えは機能します。
これは、htpasswdを使用してサイト上のディレクトリを保護する場合を除いてうまく機能します。次のコードを任意のディレクトリの.htaccessファイルに追加すると、そのディレクトリを参照しようとすると404が表示されます。
AuthName "Private"
AuthUserFile "/home/passwd"
AuthType Basic
require valid-user
このコードは、Wordpressの書き換えコードの最後の行がコメントアウトされている場合は正しく機能しますが、Wordpressコードがそのままの状態で、パスワードで保護されたディレクトリは404になります。
So I have a conflict between the two .htaccess files somehow. I have tried writing a bunch of RewriteCond's to try and exclude the subdirectory with the password applied but can't nail it.