如何使用给定的URL访问控制器方法

时间:2015-01-08 07:49:26

标签: php laravel

我正在使用laravel框架。我需要使用给定URL的名称访问控制器方法。我的路线代码如下所示:

   <?php
      Route::get('home','HomeController@showWelcome');
   ?>

HomeController.php看起来像这样

   <?php

     class HomeController extends BaseController {
        public function showWelcome()
       {
          return View::make('hello');
       }
     }

   ?>

我的问题是无法在提供类似 http://example.com/home

的网址时访问showWelcome的方法

但我可以使用网址 http://example.com/index.php/home

进行访问

如何解决这个问题..任何人都可以帮我做这件事。谢谢。

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

2 个答案:

答案 0 :(得分:1)

这应该是评论,但我现在没有足够的声誉。

这是一个重写问题,请查看http://laravel.com/docs/4.2/installation#pretty-urls,看看您是否有正确的配置。

如果你使用的是apache且你的.htaccess不起作用,那是因为mod_rewrite已关闭。

希望这有帮助。

答案 1 :(得分:0)

首先你应该打开mod_rewrite。

如果不起作用,请编辑public/.htaccess并尝试以下内容:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]