htaccess根除重写规则

阿尔瓦罗·弗朗兹(ÁlvaroN.Franz)

我正在尝试制定特殊的重写规则。
假设ROOT为我的托管根。

我将domain.tld设置为ROOT / folder上的root

当我从domain.tld根目录(文件夹上运行的脚本中尝试此操作时

RewriteRule sth/?$ ../file.php

它不起作用,因为我要离开域Root。但是,由于我是在同一主机上,所以它不行吗?有没有其他选择?我曾经听说过符号链接,它们在这里适用吗?

感谢您的关注。

林俊

既然我在同一主机上,那不行吗?

不,您使用托管服务没关系。站点的文档根目录是该站点可以访问的最高目录apache。因此,当您将网址重写为时../file.php,apache无法遍历任何比文档根目录更高的目录。这样做有一个很好的理由,因为它可以防止道德不道德的人制作他们不应该看到的apache访问文件(例如../../../../../../etc/passwd

您唯一可以做的就是将file.php放在文档根目录中的某个位置,或者创建一个包含它的脚本:

require ../file.php

或者

include ../file.php

然后在您的重写规则中调用该脚本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章