Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
Wordpress .htaccess登录时允许文件类型_Wordpress_.htaccess - Fatal编程技术网

Wordpress .htaccess登录时允许文件类型

Wordpress .htaccess登录时允许文件类型,wordpress,.htaccess,Wordpress,.htaccess,我们有一个wordpress网站,我们希望在用户未登录时阻止某些文件,如.pdf和.txt,然后在用户登录时允许这些文件 我们知道如何允许某些文件类型,以及在用户未登录时如何检查/重定向,但我们不知道如何将两者结合起来,有人知道如何做到这一点吗,或者如果可能的话?最后我列出了我们当前在.htaccess文件中使用的代码 任何建议都将不胜感激,如果您需要任何其他信息,请告诉我 谢谢你的时间和帮助 问候 陶静静 允许某些文件类型 order deny,allow deny from all <

我们有一个wordpress网站,我们希望在用户未登录时阻止某些文件,如.pdf和.txt,然后在用户登录时允许这些文件

我们知道如何允许某些文件类型,以及在用户未登录时如何检查/重定向,但我们不知道如何将两者结合起来,有人知道如何做到这一点吗,或者如果可能的话?最后我列出了我们当前在.htaccess文件中使用的代码

任何建议都将不胜感激,如果您需要任何其他信息,请告诉我

谢谢你的时间和帮助

问候

陶静静

允许某些文件类型

order deny,allow
deny from all
<files ~ ".(xml|css|jpe?g|png|gif|js)$">
allow from all
</files>
订单拒绝,允许
全盘否定
通融
未登录时重定向

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^.*uploads/.*
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule . /wp-login.php?redirect_to=%{REQUEST_URI} [R,L]
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

重新启动发动机
重写基/
RewriteCond%{REQUEST_URI}^.*uploads/*
重写cond%{HTTP_COOKIE}!^*wordpress\u已登录。*$[NC]
重写规则/wp login.php?将_重定向到=%{REQUEST_URI}[R,L]
重写规则^index\.php$–[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]

如果未登录,则不允许某些文件类型

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^.*uploads/.*
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule \.(pdf|txt)$ - [F]
</IfModule>

重新启动发动机
重写基/
RewriteCond%{REQUEST_URI}^.*uploads/*
重写cond%{HTTP_COOKIE}!^*wordpress\u已登录。*$[NC]
重写规则\(pdf | txt)$-[F]

我假设这两个重写条件是正确的,并且都是必需的。您可能必须调整它们,以微调重写规则将应用的确切条件。现在,它正在URI中查找术语uploads/,并在cookie中查找wordpress\u logged\u。我假设您没有尝试运行“如果未登录则重定向”代码。

您的规则如下:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_COOKIE} !wordpress_logged_in [NC]
RewriteRule (^|/)uploads/.+?\.(xml|css|jpe?g|png|gif|js)$ wp-login.php?redirect_to=/ [R,L]

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

嗨,菲尔,谢谢你的回复。您提供的代码用于允许登录后访问文件。如果你不介意问的话,还有两个小提示,1)我们想添加重定向2)我们如何检查用户是否登录如果我们在插件中处理php会话登录,我尝试用“PHPSESSID”替换“wordpress_logged_in”,但没有成功。谢谢你的帮助。我不是Wordpress专家,所以我能给你的帮助是有限的。对于1)排除对某些文件的访问和在访问者未登录时重定向访问者是否都有意义?我认为在这种情况下,文件排除是多余的。2) “wordpress\u logged\u in”在cookie中,通常PHP会话ID不在cookie中,但我可能错了。这将需要一位WP专家来帮助您。嗨,Anubhava,谢谢您的回复,不幸的是,您给出的代码不起作用,不确定我们做错了什么。这似乎确实起作用。我猜@anubhava没有更新它正在检查的文件扩展名。在他们登录后,我们将如何重新定向到请求的文件?