我正处于将网站迁移到Phalcon PHP框架的早期阶段。但是我偶然发现了第一个问题。
我已经按照各种教程的规定将Phalcon项目设置得很好。我已经检查过我的服务器安装了Phalcon它已经安装了,我已将项目上传到/ www目录。但是现在当我浏览URL而不是获得漂亮的渲染网页时,我只是得到了我的服务器的目录视图(截图1)。即使我深入研究Phalcon项目的目录,它仍然只进入目录视图(截图2)。只有当我浏览到/ phalcon-project / public时,才会通过公共目录中的bootstrap index.php识别并从控制器和视图中呈现索引(截图3)。
关于它为什么不映射的任何想法?请注意,正如您在我的顶级(/ www)中看到的,我有2个目录;让我们称之为/ phalcon-project和/ other-website,因为我有另一个站点从那里运行(该站点上没有PHP框架,只是一个简单无聊的旧静态站点)我的URL www.phalcon-project.com映射到/ www目录和我的网址www.other-site.com映射到/ www / other-site ...我没有看到这应该导致问题,但可能是那个,还是别的?
屏幕截图1:
屏幕截图2:
屏幕截图3:
答案 0 :(得分:1)
听起来您没有正确设置虚拟主机。 您可以修改它以生成root / www / public,也可以使用.htaccess文件,详见Phalcon网站。
https://docs.phalconphp.com/uk/latest/reference/apache.html
因此,在您的情况下,您将在文档根目录中的.htaccess文件中包含以下内容。 (/ WWW)
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule ((?s).*) public/$1 [L]
</IfModule>
然后是/ www / public目录中的以下.htaccess文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L]
</IfModule>