我尝试仅允许具有特定Cookie的用户访问data/party/*
。因此我在root目录中扩展了我的.htaccess。最后一部分应该检查子文件夹的URI和cookie的存在。不幸的是它没有阻止访问。重要提示:我希望webroot中的.htaccess不在子文件夹data/party
中。 mod_rewrite已启用。谢谢你的帮助!
RewriteEngine On
RewriteRule ^(app|dict|ns|tmp)\/|\.ini$ - [R=404]
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
RewriteCond "%{HTTP_HOST}_%{HTTP_REFERER}" "!\.?([^\.]+\.[^\.]+?)_https?://.*\1/.*$"
RewriteRule \.(woff|eot|ttf|svg|woff2|otf)$ - [F,NC,L]
# NOT WORKING
RewriteCond %{REQUEST_URI} ^data/party
RewriteCond %{HTTP_COOKIE} !AllowDataAccess=YesYouCanBoogie
RewriteRule .* - [L,F]
答案 0 :(得分:1)
尝试:
RewriteCond %{HTTP_COOKIE} !AllowDataAccess=YesYouCanBoogie
RewriteRule ^data/party - [L,F]
或者您可以更改RewriteCond %{REQUEST_URI} ^/data/party
与^/
答案 1 :(得分:1)
您在条件中缺少/
。 REQUEST_URI以前导斜杠开头。所以它目前还不匹配。
以这种方式试试。
RewriteCond %{REQUEST_URI} ^/data/party [NC]
RewriteCond %{HTTP_COOKIE} !AllowDataAccess=YesYouCanBoogie;? [NC]
RewriteRule .* - [L,F]