開発目的で使用するドメインがあります。このドメインには、さまざまなワードプレスがインストールされたいくつかのサブディレクトリがあります。領域全体を非表示にするために、ルートに単純な htpasswd 保護を作成しました。
現在、timthumb ライブラリを使用して画像のサイズを変更するこの Wordpress の 1 つがドメインにあり、htpasswd が原因で、画像の代わりに「NetworkError: 400 Bad Request」が表示されます。
これは、エラーを取得するリクエストの例です
http://subdomain.domain.com/WP/wp-content/plugins/plugin-directory/timthumb.php?src=http%3A%2F%2Fsubdomain.domain.com%2FWP%2Fwp-content%2Fuploads%2F2015%2F01%2F012015_valentines_hp_budvase.jpg&w=300&h=620&zc=1
そのファイルのみの保護をバイパスする方法はありますか?
.htaccess スニペットを読みやすくするためのパスの詳細:
- 「subdomain_folder」というサブディレクトリを指すサブドメインにいます
- 私が取り組んでいる.htaccessは「subdomain_folder」にあります
- WP は、「subdomain_folder」内の「WP」というサブディレクトリにあります。
- WP への完全なパス: '/home/some-folder/public_html/subdomain_folder/WP
- アップロードへの完全なパス: '/home/some-folder/public_html/subdomain_folder/WP/wp-content/uploads
私はこれを試しました:
SetEnvIf Request_URI "^/WP/wp-content/plugins/plugin-dir/timthumb\.php$" allow
AuthType Basic
AuthName "Restricted Area"
AuthUserFile "/home/some-folder/.htpasswds/public_html/subdomain_folder/passwd"
Require valid-user
Order allow,deny
Allow from env=allow
Satisfy any
アップデート
誰かが、timthumb.php ファイルへのアクセスを許可するのは無意味だとアドバイスしてくれました。代わりに、彼に http リクエストを許可するか、アップロード フォルダーへのフル アクセスを許可する必要があるので、localhost IP からのリクエストを許可して、次のことを試しました。
AuthType Basic
AuthName "Reserverd Area"
AuthUserFile "/home/some-folder/.htpasswds/public_html/subdomain_folder/passwd"
Require valid-user
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Satisfy Any
localhost と 127.0.0.1 の両方を試しました
単一の WP アップロード フォルダー (timthumb が画像を要求する場所) に別の .htaccess を追加しようとしました。
Satisfy Any
Order Allow,Deny
Allow from all
それでも画像を表示できず、画像の代わりに NetworkError: 400 Bad Request が表示され続けます。
最後の詳細、WP ディレクトリの .htaccess は標準の wp htaccess --> pastebin.com/8PRqEYQ2