Php 阻止非loggedin用户(WordPress)直接访问uploads文件夹

Php 阻止非loggedin用户(WordPress)直接访问uploads文件夹,php,wordpress,apache,.htaccess,Php,Wordpress,Apache,.htaccess,我想防止未登录用户直接访问wp内容内的uploads文件夹。我尝试将以下规则放在AWS Lightsail服务器的htaccess.conf中。在那之后,它工作得很好,但现在网站被破坏了。有人能帮我弄清楚它为什么坏了吗?当我从htaccess.conf中删除这些规则时,站点将正常加载 <Directory "/opt/bitnami/apps/wordpress/htdocs/"> # Protect all files within the uploads folder <I

我想防止未登录用户直接访问wp内容内的uploads文件夹。我尝试将以下规则放在AWS Lightsail服务器的htaccess.conf中。在那之后,它工作得很好,但现在网站被破坏了。有人能帮我弄清楚它为什么坏了吗?当我从htaccess.conf中删除这些规则时,站点将正常加载

<Directory "/opt/bitnami/apps/wordpress/htdocs/">
# Protect all files within the uploads folder
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP_COOKIE} !.*wordpress_logged_in.*$ [NC]
    RewriteCond %{REQUEST_URI} ^(.*?/?)wp-content/uploads/.* [NC]
    RewriteRule . https://%{HTTP_HOST}%1/wp-login.php?redirect_to=%{REQUEST_URI} [L,QSA]
</IfModule>
</Directory>

#保护上载文件夹中的所有文件
重新启动发动机
重写cond%{HTTP_COOKIE}*wordpress\u已登录。*$[NC]
RewriteCond%{REQUEST_URI}^(*?/?)wp content/uploads/*[NC]
重写规则。https://%{HTTP_HOST}%1/wp login.php?将_重定向到=%{REQUEST_URI}[L,QSA]

将此代码添加到
.htaccess
文件中

RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/(.*)$ dl-file.php?file=$1 [QSA,L]

我已经修复了它,所以基本上我需要防止直接访问wp content/uploads文件夹中的文件夹。所以我只是在那个文件夹中创建了.htaccess文件,并加入了以下规则,现在一切正常。谢谢大家

RewriteEngine On RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] RewriteRule ^(.*)$ - [R=403,L] 重新启动发动机 重写cond%{HTTP_COOKIE}!^*wordpress\u已登录。*$[NC] 重写规则^(.*)-[R=403,L]
我尝试过这个,它是一样的,我没有使用任何文件称为dl文件。php@AbdullahAlFaruk您使用的是哪个WP版本?我使用的是最新版本,即5.4。我把这些规则放在仪表板上,得到了这种类型的坏页——前端完全是白色的——网站以什么方式坏了?当您尝试访问它时会发生什么?请在问题中添加更多信息。似乎没有加载所有CSS