Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess htaccess阻止在不存在cookie的情况下访问子文件夹_.htaccess - Fatal编程技术网

.htaccess htaccess阻止在不存在cookie的情况下访问子文件夹

.htaccess htaccess阻止在不存在cookie的情况下访问子文件夹,.htaccess,.htaccess,我正在尝试只允许具有特定cookie的用户访问数据/party/*。因此,我在根目录中扩展了.htaccess。最后一部分应该检查子文件夹的URI以及是否存在cookie。不幸的是,它没有阻止访问。重要提示:我希望webroot中的.htaccess不在子文件夹data/party中。mod_重写已启用。谢谢你的帮助 RewriteEngine On RewriteRule ^(app|dict|ns|tmp)\/|\.ini$ - [R=404] RewriteCond %{REQUE

我正在尝试只允许具有特定cookie的用户访问
数据/party/*
。因此,我在根目录中扩展了.htaccess。最后一部分应该检查子文件夹的URI以及是否存在cookie。不幸的是,它没有阻止访问。重要提示:我希望webroot中的.htaccess不在子文件夹
data/party
中。mod_重写已启用。谢谢你的帮助

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]
尝试:

RewriteCond %{HTTP_COOKIE} !AllowDataAccess=YesYouCanBoogie
RewriteRule ^data/party - [L,F]
或者您可以更改您的
RewriteCond%{REQUEST_URI}^/data/party

使用
^/

时,您在条件中缺少一个
/
。请求URI以斜杠开头。所以它目前不匹配

这样试试看

RewriteCond %{REQUEST_URI} ^/data/party [NC]
RewriteCond %{HTTP_COOKIE} !AllowDataAccess=YesYouCanBoogie;? [NC]
RewriteRule .* - [L,F]

我尝试了这两种方法,但仍然可以在没有cookie的情况下访问内容;(感谢您的帮助,我确实
RewriteCond%{REQUEST_URI}^/data/party[NC]
但仍然可以查看内容我对cookie条件做了一个小小的调整。看看这是否有帮助。还尝试使用与cookie相同的大小写。mh mh mh不幸的是,没有。奇怪的是,当我将其放入party dir并引用为
/party
时,它工作了,似乎subdir规则没有从路由捕获;(它应该可以工作。尝试将规则置于重写引擎下的其他规则之上,并将条件更新为
^/data/party(/*)?
巴拿马杰克对不起。缓存欺骗了我。它按照您的建议工作,但我必须将所有其他规则之前(?)无论如何,谢谢!