如何将php文件移出webroot

如何将php文件移出webroot,php,.htaccess,root,Php,.htaccess,Root,我如何知道我的web根文件夹在哪里? 以及如何将文件夹放在web根文件夹之外? 如何测试它们是否无法从外部访问 我的主机结构如下所示: www.website.com : public_html/ includes / logs/ 使用htaccess保护includes文件夹和logs文件夹是否足够?在这种情况下,他们是否没有web根目录 我知道$server[document root]提供了我网站的根目录,但我不知道如何将文件从中取出,欢迎提供任何帮助,谢谢所有的您的所有文件当前都在

我如何知道我的web根文件夹在哪里? 以及如何将文件夹放在web根文件夹之外? 如何测试它们是否无法从外部访问

我的主机结构如下所示:

www.website.com :

public_html/
includes /
logs/

使用htaccess保护includes文件夹和logs文件夹是否足够?在这种情况下,他们是否没有web根目录


我知道$server[document root]提供了我网站的根目录,但我不知道如何将文件从中取出,欢迎提供任何帮助,谢谢所有的您的所有文件当前都在公共web根文件夹中

根目录的“内部”是您的
publichtml/
。你放在那里的所有东西都可以公开访问。 根目录的名称因主机而异,通常是
public\u html
httpdocs

“外部”是向上的一个目录。但请记住,有些主机没有授予足够的权限

无法在根目录之外测试文档,因为它们不可访问。只有像PHP这样的东西才能访问这些文件。这就是为什么不将img/JS/CSS文件放在需要直接访问的根本原因之外。
但是,您可以通过PHP为它们提供服务。

您能解释一下您想要实现的目标吗?为什么要“将文件放在webroot之外”?你不必担心人们从Web服务器下载php文件,如果有人请求,文件将被执行,而不是返回到响应中。不确定你要完成什么,但是如果你想“将文件从webroot中删除”只是为了“保护”它们,我建议你另一种方法。您可以通过一个简单的检查来防止直接执行它们。这个答案可能会指导您它是
public\u html
而不是
public html
,因为我知道www.website.com本身就是web根目录,我想通过在我的代码中添加它来获得一个文件夹,因此,当我把php代码放在一个文件夹中时,它只能被Apache包含,而不是服务器。我见过很多人说,他们可以使用回溯或其他方法来破解php代码,并且代码希望安全,除非它不在根目录下。它是
public\u html/
而不是
publichtml/
根据我的经验,这会随着主机的不同而变化,所以我只是复制了OP的内容,它是一个Linux系统和Apache服务器相关的文档根。文件/文件夹名称中的“空格”在linux系统上无效(如果您这样做,您将不得不转义它——并可能导致问题)是的,我知道我无法从根目录访问文件,但我可以将其包括在内,我这里的问题是,如果命令../dose不存在,如何获取一个文件夹。您能解释一下吗?仅仅包括
require_一次('../test.php')
会失败吗?错误是什么?