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

问题是它不知何故匹配不正确,我没有收到任何提示。我有两个可能的网址:

  1. 一个针对类别本身:https://example.com/product-category/langzeitvermietung/
  2. 一个针对某一类别内的产品:https://example.com/shop/product-category/langzeitvermietung/testvermietung/

那么我该如何处理呢?我的想法是阻止访问特定类别及其内部产品(秒链接示例)。

我正在使用带有 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 页面。

相关内容