【问题标题】:How to restrict directory access如何限制目录访问
【发布时间】:2016-07-12 16:19:04
【问题描述】:

我有文件夹目录http://test.com/app/cl/login.php。如果有人试图访问 app 文件夹,它可以。如果有人试图直接访问 app 文件夹,请告诉我如何阻止他们访问它并将 URL 重定向到 http://test.com/。我试图通过 htaccess 来做,但它阻止了整个网站

我尝试过的选项

  RewriteEngine On
  RewriteRule ^app/ - [L,R=404] 

  RewriteEngine on 
  RewriteCond %{HTTP_HOST} ^test\.com\/app [NC,OR]
  RewriteRule ^(.*)$ http:\/\/test\.com\/$1 [L,R=301,NC] 

  Redirect 301 /app test.com

【问题讨论】:

  • 发布您尝试过的内容。
  • RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com\/app\/cl [NC,OR] RewriteRule ^(.*)$ http:\/\/test\.com\/ $1 [L,R=301,NC]
  • 重定向 301 /app/cl test.com
  • 我在 htaccess 中都试过了,但它们都不起作用
  • 对不起,我已经在代码中添加了它们...实际上,该应用程序是一个具有登录页面的目录。如果我使用其中任何一个,它也会阻止页面。如果有人试图更改 url 并尝试访问应用程序文件夹,我只是希望它被重定向。谢谢你的时间,starkeen

标签: .htaccess url-redirection


【解决方案1】:

您可以使用以下规则:

  RewriteEngine On
  #1) redirect "/app/"
  RewriteRule ^app/?$ http://example.com/ [L,R]
  #2) redirect "/app/cl/"
  RewriteRule ^app/cl/?$ http://example.com/ [L,R]

您也可以使用 RedirectMatch 指令来完成此操作:

RedirectMatch ^/app/?$ http://example.com/
RedirectMatch ^/app/cl/?$ http://example.com/

【讨论】:

  • 非常感谢starkeen,它可以工作...我应该只使用第一个,因为 cl 文件夹位于 app 文件夹中,还是您建议同时使用两者?
  • 你应该同时使用,因为第一条规则只重定向 /app/ 它不重定向 /app/cl/
  • 好吧,我只是发现了一个问题,我的朋友...实际上在 app 文件夹中,我正在以 cms 的身份运行另一个网站...现在,如果我使用上面的代码,它将重定向分配给 cms 的域到主网站。我将两个网站都托管在同一台服务器上...例如,我的主域为example.com,并将域添加为test.com。如果我现在尝试打开 test.com,它会将我重定向到 example.com :(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-03-12
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
  • 2019-06-25
  • 2016-08-20
  • 2012-12-21
相关资源
最近更新 更多