Laravel路由不起作用

时间:2014-06-24 05:20:33

标签: laravel laravel-routing

我是LARAVEL框架的新手,我想运行一个只具有查看页面功能的控制器

class TestController extends BaseController {

    public function index()
    {
        return View::make('hai');
    }
}

我在routes.php文件中设置路由,如下所示

Route::get('test','TestController@index');

我尝试使用

在mozilla中运行
localhost/laravel/public/test

但它显示

Not Found
The requested URL /laravel/public/test was not found on this server.

我的.htaccess页面有什么问题吗?

<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>

任何人都请帮帮我。

3 个答案:

答案 0 :(得分:10)

我假设你在Ubuntu机器上。要使其工作,首先,通过在终端

中执行以下命令来启用重写模块
 sudo a2enmod rewrite

其次,找到&#34; apache2.conf&#34;在您的系统中,我的文件位于

/etc/apache2/apache2.conf

在此文件中,找到以下代码片段:

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

更改&#34; AllowOverride无&#34; to&#34; AllowOverride All&#34;。保存文件并通过执行以下命令重新启动Apache服务器

sudo service apache2 restart

这应该可以解决问题。干杯

答案 1 :(得分:0)

前提条件:你知道你有htaccess工作,如果你第一次安装laravel并前往localhost/laravel/public/,你会看到laravel标志。

路线是:

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

关于您的路线:您不需要在路线中明确说明功能(@index)。 Laravel根据HTTP请求类型有一个默认路径。检查here(在标题资源控制器处理的操作标题下)以获取更多详细信息。

答案 2 :(得分:0)

我只是提到你不修改.htaccess文件。来自http://tisuchi.com/easy-way-handle-routing-laravel/

  

静态页面处理

     

在laravel中处理静态页面是最简单的处理方式之一   路线。打开app / routes.php文件并删除其中的所有内容。   假设我们尝试进入以下页面 - home   (example.com),about(example.com/about),contact   (example.com/contact)。为此,只需在您的代码中编写以下代码即可   routes.php文件 -

/**
 * Static page code
 */

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

# For example.com/about
Route::get('about', function(){
    return View::make('about');
});


/**
 * Naming Route for static Page
 */
# For example.com/contact
Route::get('contatct', array('as' => 'contact', function(){
 return View::make('contact');
}));

如果您是Laravel的新手,强烈建议您查看以下2个教程 -

当然,不要忘记查看laravel.com的官方页面。 希望,它会对你有用。

玩得开心......