【发布时间】:2015-01-08 16:49:21
【问题描述】:
我正在使用 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
之类的 url 时无法访问 showWelcome 的方法但我可以通过 url 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>
【问题讨论】:
-
访问example.com/home 时看到了什么?有什么错误吗?
-
是的.. 我收到了类似 在此服务器上找不到请求的 URL /example.com/home 之类的错误。.. 但如果我喜欢 / example.com/index.php/home 表示它应该可以工作..
-
好的,所以你看到了默认的 SERVER 404 页面——不是 Laravel 404 页面?这表明问题出在 .htaccess 文件或您的服务器虚拟主机配置中。您是否对 .htaccess 进行了任何更改?
-
人们在了解任何基础知识之前就开始使用框架......
-
@violator667: 我在那个 .htaccess 文件中没有任何改变......我将发布我的 .htaccess 文件