主机,PHP,htaccess

Host, PHP, htaccess

我需要一些帮助。

我正在阅读我的托管服务的安全建议,他们说理想情况下只需将 index 文件和 css、js 和 img 等文件在我的根文件夹中,所有其他文件都应该放在 off,即高出一个等级。

我在测试中尝试这样做,但遇到了一些问题。托管文件夹的结构是:

/
/htdocs

我在 /htdocs 中放置了 index.php 文件,当通过 url 示例访问它时。com/index。php 正常工作。

但是将其他测试文件从 htdocs 中取出是问题的根源。例如,如果我有一个名为 contact.php 的文件 我尝试通过 url 示例访问它。com/contact。php 我收到 404 错误消息。

所以我要问的问题是:

是否可以访问 htdocs 之外的 url 文件,或者最好将 url 将访问的所有文件放在里面 htdocs 并仅保留此文件夹外的配置文件,如 class、函数、数据库连接等?

如果可以通过 url 访问文件,我将如何在 htaccess 中重写这些 url?

and that all other files should be placed off

是的,这是很好的做法。但是,您误解了实现方式。

您不能直接访问文档根目录之外的文件。但是您可以间接访问它们。也就是说,Web 服务器看不到它们,但您的编程代码可以。

理想情况下,您的站点应使用 front controller 模式。在这里,您的 index.php 文件将通过拦截每个请求然后将其路由到正确的端点来为应用程序的每个页面提供服务。即,您永远不会直接请求 /contact.php,而是请求 /contact,这将被汇集到 /index.php,这将从文档根目录外部加载所需的资源。