2016-03-21 89 views
1

我开始学习如何在vps上设置灯,并且我正在尝试运行laravel项目。如何设置别名或VirtualHost在Apache2上运行laravel项目

这是我的000-default.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 
    Alias /laravelproject /var/www/laravelproject/public 
    <Directory /var/www/> 
     Options Indexes FollowSymLinks MultiViews 
     AllowOverride All 
     Order allow,deny 
     allow from all 
    </Directory> 

我试图使用/ laravelproject访问和它的作品,因为我重定向到一个登录页面的IP/laravelproject /登录(比如我设置使用未记录用户的中间件,它适用于本地家园虚拟机)。但我有一个404文件未找到错误。不漂亮的设计laravel之一,但原始的和丑陋的服务器错误

未找到

所请求的网址/ laravelproject /登陆此服务器上找到。

的Apache/2.4.10(Ubuntu的)在'端口80

服务器当然,我没有任何laravelproject.com域成立,我想简单地用my_server_ip/laravelproject进行访问。

我如何设置一个虚拟主机或别名来运行它与所有的路线工作?

回答

0

你需要确保/var/www/laravelproject/public目录设置为AllowOverride All(我相信你已经通过将/var/www设置为All来处理)。然后确保.htaccess文件在你public目录设置正确:https://github.com/laravel/laravel/blob/master/public/.htaccess

这是因为Apache正在寻找/public/login/index.html这是不是一个文件。 Laravel的.htaccess适当地重定向这些请求,但它必须是在公用文件夹和Apache必须设置AllowOverride

编辑:

<Directory /var/www/laravelproject/public> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
</Directory> 
+0

的htaccess的是一样的,你贴一个。问题正是你所说的。我试图用index.php创建一个公共文件夹登录,这就是它加载的内容 – GabAntonelli

+0

确定请参阅编辑。显然,公共文件夹不允许覆盖,所以把这个代码放在apache配置文件中,并明确地允许该文件夹。 – Jeff

+0

我尝试编辑/etc/apache2/apache2.conf中 “<目录/ var/WWW /> 选项指标的FollowSymLinks 的AllowOverride所有 要求所有授予 < <目录/ var/WWW/laravelproject /公> AllowOverride全部 ' – GabAntonelli

相关问题