我正在使用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>
答案 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]