[英]how to restrict access to public files with apache and php?
以前,该网站托管在专用网络上,因此无需限制对文件的访问。
该站点是一张长表的页面,每一行对应一个文件(具有相同的ID)。 当您单击该行时,JS将加载文件。 这些文件是公开可用的,因此JS可以在不使用AJAX的情况下加载它们。
现在,该网站已被移交给互联网托管。
我可以使用PHP限制对主页的访问,但是我无法将文件移动到不可访问的文件夹中,因为JS无法加载。
我试图将所有流量重定向到LOGIN页面,PHP将在此处确定允许的访问方式,如下所示:
在apache中:
RewriteRule (.*) /login.php
在login.php中:如果未取消授权:将被解雇,如果取消授权,将被重新创建回原始文件:
header('Location: ' . $_SERVER['request_url']);
我不知道如何让Apache知道不重定向那些已经确认的软件的问题。 所以现在
apache redirect to login.php -> login.php redirect to original page -> apache redirects to login.php -> and so on...
我试图在php中设置env变量:
$_ENV['stop_rewrite'] = true;
和在阿帕奇:
<if !stop_rewrite>
RewriteRule (.*) /login.php
</if>
但我得到一个500错误。
任何想法如何解决这个问题?
在根目录下的.htaccess文件中添加以下行:
Options -Indexes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.