除主页目录外,Laravel不会路由

时间:2014-10-22 17:34:57

标签: php laravel routing

我有一个几乎没有更改的全新安装,它不会接受任何新路由。我已尝试过虚拟主机文件的多个内容,主要是我在其他网站上找到但没有任何效果。

我可以获得默认值,但没有其他路线。

这样可行:

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

但这不是:

Route::get('test', function()
{
    return 'Hello;
});

现在我有一个apache的conf文件,如下所示:

<VirtualHost *:80>

#Host Name
ServerAdmin webmaster@localhost
ServerName example.com
ServerAlias www.example.com
DocumentRoot /path/to/our/public

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory /path/to/our/public>
    <IfModule mod_rewrite.c>
        Options -MultiViews
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
</Directory>

</VirtualHost>

我访问该网站没有问题,它加载,我从laravel得到欢迎页面,但我不能做任何其他路由或任何东西。权限都可以,我可以将此路由更改为我想要的任何内容。

2 个答案:

答案 0 :(得分:3)

我可以通过更改/var/www in my /etc/apache2/apache2.conf文件规则的AllowOverride来使其正常工作。

原文:

<Directory /var/www/>
  Options Indexes FollowSymLinks
  AllowOverride none
  Require all granted
</Directory>

新:

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

答案 1 :(得分:1)

我可以通过以下问题中的主题来修复错误。

.haccess文件中的this link on the ReWrite engine属性以及this linke中关于更改{A httpd.conf文件(apache2.conf在我的Apaache / Ubuntu系统上)的最重要属性。