我正在尝试制定特殊的重写规则。
假设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] 删除。
我来说两句