Назад | Перейти на главную страницу

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

Проблема в том, что почему-то оно не совпадает правильно, и я не получаю подсказки. У меня есть два возможных адреса:

  1. Один для самой категории: https://example.com/product-category/langzeitvermietung/
  2. Один для продукта внутри категории: https://example.com/shop/product-category/langzeitvermietung/testvermietung/

Итак, как мне с этим справиться? Идея состоит в том, чтобы предотвратить доступ к определенной категории и ее продуктам внутри (пример секундной ссылки).

Я использую WordPress с WooCommerce, поэтому надеюсь, что правила перенаправления все еще применяются ниже:

<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 после успешной аутентификации.