SetEnvIfNoCase の URL の一部が一致しない / 認証による特別なページのセキュリティ保護

SetEnvIfNoCase の URL の一部が一致しない / 認証による特別なページのセキュリティ保護

現在、このショップのすべての製品を含む基本認証を使用して、WooCommerce のショップ カテゴリを保護しようとしています。そのために、Stackoverflow でファイル用の次のコードを見つけました.htaccess

SetEnvIfNoCase Request_URI ^/product-category/langzeitvermietung/ SECURED
AuthName "Kundenbereich"
AuthType Basic
AuthUserFile .htpasswd
AuthGroupFile /
Require valid-user

Satisfy    any
Order      Allow,Deny
Allow from all
Deny from env=SECURED

問題は、どういうわけか正しく一致せず、プロンプトが表示されないことです。 考えられる URL は 2 つあります。

  1. カテゴリ自体に関するもの:https://example.com/product-category/langzeitvermietung/
  2. カテゴリ内の製品ごとに 1 つ:https://example.com/shop/product-category/langzeitvermietung/testvermietung/

では、この問題にどう対処すればよいのでしょうか? 特定のカテゴリとその中の製品へのアクセスを禁止するという考え方です (2 番目のリンクの例)。

私は WooCommerce で 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>

おそらく、この種の保護を使用する場合にも、これが問題になることがあります。 何とか動作しましたが、この場合、認証に成功した後、WordPress ページではなく、サーバーのデフォルト ページにリダイレクトされました。

関連情報