由于这是一个与完成的整个项目相关的问题,我认为我无法发布整个代码。如果需要更多的信息,请询问,我会编辑这个。
我有一个使用这个PHP为我的一个类开发的网站:https://github.com/panique/mini。这个网站工作在一个服务器上,我从HostGator (它为我提供了一个灯栈),我现在试图将网站转移到一个AWS EC2实例。
我已经使用亚马逊提供的文档和教程设置了一个AWS EC2,并且能够在安装了LAMP堆栈之后成功地从我的实例中托管网页。我正在使用的需要PHP 5.3+,这是我在EC2实例上拥有的。我还正确地设置了MySql,并且能够使用MySql工作台访问我的数据库。
我已经将项目文件上传到提供网页的公共目录中,即var/www/html/。并使用我的config.php信息正确地配置了MySql文件(它与用于MySql工作台的完全相同的登录凭据)。
所以现在谈谈我正在经历的问题。每当我浏览mydomain.com/Project (假设项目在var/www/html/Project中)时,我就会得到目录索引,而不是我开发的web应用程序。根据我在Github中所读到的内容,PHP在配置MySql数据库信息之后应该可以工作。我知道这是正确配置的,因为我能够调用数据库表。
有人对这个PHP框架有任何经验吗?这是我第一次在Amazon中实际设置LAMP堆栈。我想知道是否有任何与Apache相关的配置设置是我应该配置的?
发布于 2016-12-27 08:35:06
今天,新框架将/public目录分开,以便于访问请求。
你可以选择
/public将apache指向编辑fie /etc/httpd/conf/httpd.conf (取决于发行版)。和改变
DocumentRoot "/var/www/html" 至
DocumentRoot "/var/www/html/myframework/public"您也可以使用VirtualHost或Alias完成此操作。
2.使用.htaccess + mod_rewrite实现框架的根目录.
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L,QSA]3.将一个index.php文件添加到框架的根目录.
<?php
header('Location: public/');
// This option is not really fix the problem. it's just redirect user to `/public`. you will always have `/public` in your urls.
// It's only work for home page.
// You can use only relative path to your assets.https://stackoverflow.com/questions/41341281
复制相似问题