【问题标题】:how to access controller method with the given url如何使用给定的 url 访问控制器方法
【发布时间】: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 文件

标签: php laravel


【解决方案1】:

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

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

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

希望这会有所帮助。

【讨论】:

  • 我认为这确实可以作为答案。也许从您链接的页面添加代码示例或引用。
【解决方案2】:

首先你应该打开 mod_rewrite。

如果还是不行,编辑public/.htaccess试试这个:

Options +FollowSymLinks
RewriteEngine On

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

【讨论】:

  • 你能告诉我我必须在哪里打开 mod_rewrite
  • 请从apache\apache2.4.9\conf打开httpd.conf文件。然后找到这一行:#LoadModule rewrite_module modules/mod_rewrite.so。只需删除“#”。所以该行将是:LoadModule rewrite_module modules/mod_rewrite.so
  • 太棒了!只需单击 Wamp Server 控制面板,然后单击“Apache”,然后单击“Apache 模块”。从列表中单击 rewrite_module。就是这样。
  • @Feroj Bepari:仍然无法正常工作.. 我只想这样做。一旦我得到它,肯定会接受它..
猜你喜欢
  • 2015-03-05
  • 1970-01-01
  • 2014-01-11
  • 1970-01-01
  • 1970-01-01
  • 2016-03-18
  • 2011-10-02
  • 1970-01-01
  • 2021-03-17
相关资源
最近更新 更多