Laravel:如果路径与公用文件夹子目录

时间:2018-02-10 06:03:09

标签: php laravel

我在admin文件夹中有public子文件夹,但我想在mywebsite.loc/admin上定义具体的回复。目前,如果要输入mywebsite.loc/admin,它将是下一个响应:

enter image description here

但是我有admin的路线定义:

Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function(){

    Route::get('/', [
        'as' => 'AdminTop',
        'uses' => //Admin\AdminController@renderTopPage'
        function(){ 
            dd('ok');
        }
    ]);       
});

我如何才能使它发挥作用?

2 个答案:

答案 0 :(得分:4)

如果您在公共场合创建任何文件夹,并且想要将此文件夹用作路线,则需要添加index.php,这对于将此文件夹理解为根目录非常有用。

例如,您在public / admin中创建一个文件夹,现在将public / index.php文件复制到admin文件夹中,并在此index.php文件中更改两行

require __DIR__.'/../bootstrap/autoload.php';

require __DIR__.'/../../bootstrap/autoload.php';

$app = require_once __DIR__.'/../bootstrap/app.php';

$app = require_once __DIR__.'/../../bootstrap/app.php';

我认为这有助于满足您的要求。

  

抱歉我的英文不好

答案 1 :(得分:-1)

Laravel有一个默认的.htaccess,其中包含正确的规则:

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

这意味着如果不是目录(!-d)而不是文件(!-f),则路由到index.php(否则命中文件/目录)

尝试删除以!-d结尾的行,但我建议您更改目录名称,因为这对您来说是个问题。