【发布时间】:2015-09-09 01:17:51
【问题描述】:
我浏览了 phalcon 的文档并按照官方网站上提供的教程进行操作:https://docs.phalconphp.com/en/latest/reference/tutorial.html
问题是当我浏览项目(本地主机/教程)时,它显示目录列表为
应用程序/
公开/
我做错了什么?
【问题讨论】:
我浏览了 phalcon 的文档并按照官方网站上提供的教程进行操作:https://docs.phalconphp.com/en/latest/reference/tutorial.html
问题是当我浏览项目(本地主机/教程)时,它显示目录列表为
应用程序/
公开/
我做错了什么?
【问题讨论】:
phalcon 目录结构的 .htaccess 文件假定您在 Web 根目录下工作,而不是在子目录下工作。如果您不打算遵循他们建议的目录结构,则需要相应地调整您的 .htaccess 文件。他们为您提供的 .htaccess 文件旨在将所有到 Web 根目录的流量重定向到您的 /public 目录,从而实质上从 Web 中隐藏了 /app 目录。尝试将他们建议的 Web 根 .htaccess 文件放在您的 tutorial 目录中并添加一行 RewriteBase /tutorial/。然后将他们的第二个 .htaccess 文件放在您的 /tutorial/public 目录中,将其 RewriteBase 调整为 RewriteBase /tutorial/public/。
或者,您可以完全避免使用他们的public 目录并使用更安全和更快的目录结构,因为避免了额外的 RewriteRules,尽管不太方便,方法是将您的app 目录放在 web 根目录下并调整您的 PHP 以使用dirname(__DIR__) 或 .. 在尝试定位 app 目录时引用父目录。
最后一种方法是在您的本地主机上创建一个子域,http://tutorial.localhost/,是的本地主机子域是一个很好的解决方案,它允许多个项目的 Web 根访问,而不会相互影响,然后您将编辑您的主机文件为伪造域添加一条记录,将其映射到 127.0.0.1,与 localhost 相同。然后编辑您的 apache 配置文件,为子域添加一个虚拟主机,将其映射到特定目录以用作该子域的 Web 根目录,重新加载 apache,然后 presto。
【讨论】:
感谢您的回答...但我自己发现了问题。 问题是apache中的配置设置。我通过从 LoadModule rewrite_module 中删除 # 更改了 apache 文件夹中 http.conf 中的设置。这对我有用。干杯!
步骤:
【讨论】: