Laravel - 路线和模型可以有不同的名称

时间:2015-09-23 19:35:35

标签: php apache .htaccess laravel laravel-5

我的laravel应用程序有一个模型 - 视频。它是主要模型,因此路线被命名为视频。但在开发之后,我发现生产服务器上有一个名为 videos

的文件夹

所以现在重写url以在.htaccess中包含index.php不起作用。

我无法更改已存在的视频文件夹的名称。 我也无法更改db表名。我不想这样做,太多的工作。 有没有办法将路线名称改为lvideos或vvideos等其他东西? 我尝试在路线中更改它,但似乎还有其他地方我必须改变它。它在控制器中抛出了一个错误。 有人可以为此提出解决方案吗?

我不想将index.php的链接提供给用户

谢谢。

1 个答案:

答案 0 :(得分:0)

您必须在引用的任何地方更改路线。

将来如果您认为路线可能会发生变化,您可以使用命名路线,然后在需要使用它的地方引用路线名称。

例如:

Route::group(['prefix' => 'videos'], function() {
    Route::get('/', [
        'uses' => 'VideosController@index',
        'as'   => 'videos.index',
    ]);
    Route::get('{id}', [
        'uses' => 'VideosController@show',
        'as'   => 'videos.show',
    ]);
});

然后,无论您在哪里使用这些路线,都可以使用名称,例如在视图中:

<a href="{{ route('videos.index') }}">Videos</a>

即使您将路线更改为Route::group(['prefix => 'iVideos']);,该链接仍然有效。即使路线发生变化,名称也没有。