【问题标题】:htaccess restrict access to files in directory in WordPress without cookie sethtaccess 在没有设置 cookie 的情况下限制对 WordPress 目录中文件的访问
【发布时间】:2020-08-06 12:09:53
【问题描述】:

我真的很难让它发挥作用。我拼凑了来自各地的点点滴滴,最终似乎可以进行重定向,但是,它似乎忽略了 cookie 检查,只是重定向了是否设置了 cookie。

我也在努力寻找一个资源来解释所有 htaccess 变量的含义。我发现很多地方都列出了它们。我什至找不到 %{REQUEST_URI} 的解释,我假设它是指域。

我将尝试将尝试访问特定目录中任何文件的任何人重定向到登录页面,除非他们设置了 cookie。

RewriteCond %{REQUEST_URI} /wp-content/uploads/my/directory/.*
RewriteCond %{HTTP_COOKIE} !my-cookie-name=1
RewriteRule . https://%{HTTP_HOST}/client-login/ [L]

【问题讨论】:

  • 所以你想在没有设置cookie的情况下阻止访问/wp-content/uploads/my/directory/目录下的所有文件?
  • 是的,没错。

标签: regex apache .htaccess mod-rewrite


【解决方案1】:

你可以在/wp-content/uploads/my/directory/.htaccess试试这个规则:

RewriteEngine On

RewriteCond %{HTTP_COOKIE} !my-cookie-name=1 [NC]
RewriteRule ^ /client-login/ [L,R]

要在根 .htaccess 中使用此规则:

确保将其放在 .htaccess 的顶部。

RewriteEngine On

RewriteCond %{THE_REQUEST} /wp-content/uploads/my/directory/ [NC]
RewriteCond %{HTTP_COOKIE} !my-cookie-name=1 [NC]
RewriteRule ^ /client-login/ [L,R]

# rest of your rules go below this

【讨论】:

  • 谢谢,我正在为多个域执行此操作,所以如果可能的话,我真的很想在根目录中执行此操作。
  • 只要受限目录为/wp-content/uploads/my/directory/,这将适用于多个域
  • 好点,但我确实想要一个地方来管理所有规则。每个站点的目录可能不同,所以我不想继续寻找文件夹,我宁愿输入网址。
猜你喜欢
  • 1970-01-01
  • 2014-02-24
  • 1970-01-01
  • 2010-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
  • 1970-01-01
相关资源
最近更新 更多