【发布时间】:2016-05-26 14:03:04
【问题描述】:
以前,该网站托管在专用网络上,因此无需限制对文件的访问。
网站是一页长表,每一行对应一个文件(具有相同的id)。当您单击该行时,JS 会加载文件。这些文件是公开可用的,因此 JS 可以在没有 AJAX 的情况下加载它们。
现在,该网站被移动到互联网上。
我可以用 PHP 限制对主页的访问,但我不能将文件移动到无法访问的文件夹,因为 JS 将无法加载。
我尝试将所有流量重定向到 LOGIN 页面,PHP 将在该页面中决定是否允许,如下所示:
在阿帕奇:
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['stop_rewrite'] = true;
在 apache 中:
<if !stop_rewrite>
RewriteRule (.*) /login.php
</if>
但我收到 500 错误..
知道如何解决这个问题吗?
【问题讨论】:
-
上次我做这样的事情是在a mod_perl authentication handler。我不认为有一个 PHP 等价物。
标签: javascript php apache