没有index.php的路由不起作用

RSM*_*RSM 11 php laravel laravel-routing

我正在使用laravel 4.

我有一个视图nest.blade.php和相应的控制器NestController.php:

控制器内容:

class NestController extends BaseController {

    public function showView()
    {
        return View::make('nest');
    }

}
Run Code Online (Sandbox Code Playgroud)

路线:

Route::get('/nest', 'NestController@showView');
Run Code Online (Sandbox Code Playgroud)

当我去url/nest它不起作用.当我去url/index.php/nest时,它确实有效.

显然我只想让它成为/ nest而不使用index.php.

我该如何解决这个问题?

我的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>
Run Code Online (Sandbox Code Playgroud)

The*_*pha 8

漂亮的网址

该框架附带一个public/.htaccess文件,用于允许没有index.php的URL.如果您使用Apache来为Laravel应用程序提供服务,请确保启用mod_rewrite模块.

如果.htaccessLaravel附带的文件不能与您的Apache安装一起使用,请尝试以下方法:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)

有关更多相关帮助,请查看此答案.

  • 我会答应你的回答谢谢.对于其他任何人,不要使用上面的代码,答案是在链接中,我不得不a2enmod重写 (3认同)