【问题标题】:Redirect all except local IPs to different directory, htaccess将除本地IP之外的所有重定向到不同的目录,htaccess
【发布时间】:2013-10-01 14:05:24
【问题描述】:

我希望任何 192.168.0.* 地址能够像往常一样访问我的网络服务器,这将为其提供 www 目录。这已经有效,但不幸的是,它也将允许外部 IP 访问同一目录。 我想将不在本地 IP 地址上的任何人重定向到 AGCS 目录并允许浏览它,因为它是一个普通网站。

示例: 192.168.0.1 尝试访问 192.168.0.2,看到它现在显示的目录

Bill 在 1.3.3.7 尝试访问,并被重定向到 AGCS 目录中的工作网站,并且不知道他已被重定向

感谢帮助,我目前看到部分成功。我在 www 目录中的 .htaccess 文件如下所示: 重写引擎开启 RewriteCond %{REMOTE_ADDR} !^192.168.0 重写规则 ^ /AGCS/ [L,R]

我在 AGCS 目录中的 .htaccess 文件如下所示: 命令允许,拒绝 全部允许

不幸的是,我目前正在研究如何编写条件,如果用户正在访问 AGCS 目录或更低目录中的某些内容,他们不会被重定向,但目前还不知道如何重定向。当前的解决方案表明我有一个重定向循环。

【问题讨论】:

  • 你有没有试过解决这个问题?
  • 是的,我试图拒绝除本地地址之外的所有人,如果他们被拒绝重定向到正确的目录但它最终崩溃了,我不知道为什么。
  • 我刚刚开始工作,提供答案

标签: apache .htaccess http


【解决方案1】:

在 www 目录的 htaccess 文件中:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^192\.168\.0
RewriteRule ^ /AGCS/ [L,R]

(或 AGCS 目录所在的任何位置)

在 AGCS 目录的 htaccess 文件中

Order Allow,Deny
Allow from All

【讨论】:

  • 这有点奏效。目前它按预期重定向,但不幸的是,如果从本地 IP 地址范围之外访问,它表示存在重定向循环。我认为我需要一个条件,如果该人正在访问 AGCS 目录或更深的内容,他们不会再次被重定向,但不幸的是我不知道如何写这个并且目前正在谷歌上研究它。
  • 只要在 RewriteCond %{REMOTE_ADDR} !^192\.168\.0 行之后添加 RewriteCond %{REQUEST_URI} !/AGCS/* 行,以防止重定向循环,这目前成功解决了我的问题,除非由此产生进一步的问题。谢谢!
  • @BenjaminPlonk 好吧,我认为您可以做的另一件事是将RewriteEngine On 添加到您的 AGCS 目录中的 htaccess 文件中,没有任何规则。
  • RewriteRule ^ /AGCS/ [L,R] 之前添加附加条件RewriteCond %{REQUEST_URI} !^/AGCS/ 以防止从重定向文件夹加载图像或其他资源时出现问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
  • 2015-06-27
  • 1970-01-01
  • 2014-07-23
  • 2013-09-23
  • 1970-01-01
  • 2023-03-27
相关资源
最近更新 更多