Laravel虚拟主机请求URL未找到

时间:2015-06-27 01:36:46

标签: php laravel virtualhost

我的使用VirtualHosts的laravel应用程序出现问题,我可以看到laravel的主页,但是当我尝试制作像advkit.dev/login这样的路线时,我得到了#34;请求的URL /在此服务器上找不到登录。"所以我的所有路线都没有工作,是否有人知道我需要在我的代码中更改以使路线有效。我也将debug设置为true,我只在主页上获得了debuging控制台,例如advkit.dev no where else

路线:

<?php

Route::get('/', function()
{
    return View::make('hello');
});

// login.blade.php
Route::get('/login', function() {
    return View::make('login');
});

主机

127.0.0.1       www.localhost.com
127.0.0.2       advkit.dev

httpd-hosts文件

<VirtualHost advkit.dev>
    DocumentRoot C:\wamp\www\advkit\public
    ServerName advkit.dev
</VirtualHost>

3 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,以下答案中给出的虚拟主机设置对我有用:https://stackoverflow.com/a/33760330/4561150

<Directory "C:/myproject/mysubfolder/public">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Require all granted
</Directory>

答案 1 :(得分:0)

听起来Apache忽略了您的.htaccess文件。您可以解决这个问题,但更好的解决方案是将该.htaccess文件的内容放入虚拟主机中。然后你的虚拟主机看起来像这样:

<VirtualHost advkit.dev>
    DocumentRoot C:\wamp\www\advkit\public
    ServerName advkit.dev

    <Directory C:\wamp\www\advkit\public>
        # Ignore the .htaccess file in this directory
        AllowOverride None

        # Rewrite URLs
        <IfModule mod_rewrite.c>
            <IfModule mod_negotiation.c>
                Options -MultiViews
            </IfModule>

            RewriteEngine On

            # Redirect Trailing Slashes
            RewriteRule ^(.*)/$ /$1 [L,R=301]

            # Handle Front Controller
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^ index.php [L]
        </IfModule>
    </Directory>
</VirtualHost>

答案 2 :(得分:0)

您可以在.conf文件中添加以下行。

<Directory /var/www/gloops/public>
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
 </Directory>

保存文件并通过给定命令启用重写模式并重新启动apache2服务。

sudo a2enmod rewrite
sudo service apache2 restart