不能访问包含相对url的文件


cant access files that have includes with relative URls

我接管了一个迎合客户访问的网站。它们都访问自己的文件夹,在文件夹中,文件有一个包含相对路径,如下所示。

/core -包含所有实际文件

/client/file.php

<? include "../core/file.php"; ?>

但是随着客户数量的增加,我想更深入地将它们分开…

/uk/client/file.php -
<? include "../../core/file.php"; ?>

这很好,但是当文件被包含时,它们也有自己的相对包含,这就是它的问题所在。

有这么多的文件,我不能轻易地通过他们来改变所有的包含路径,所以我想也许做一个重写来伪造的路径?

I've try this…

RewriteRule ^uk/$ /

但这不起作用。

如有任何帮助,不胜感激

这听起来像是__DIR__的工作,您可以查看这里的文档

文件所在的目录。如果在包含中使用,则返回被包含文件的目录。这相当于dirname(FILE)。除非是根目录,否则该目录名没有尾斜杠。(PHP 5.3.0新增)

否则,你仍然可以切换所有的相对路径到绝对路径,避免任何问题,如果一些文件包含在其他文件。

作为旁注,我建议不要使用php短标签<?...?>,我宁愿使用长标签<?php....?>