宝塔面板下laravel路由设置踩坑记

小编研究学习laravel过程中,laravel路由设置应该很容易啊,可是小编在宝塔面板下配置laravel路由硬是折腾了不少时间,现将踩过的坑跟大家说说。

原来的配置

关于laravel路由设置,官方是这样说的,

Nginx

If you are using Nginx, the following directive in your site configuration will direct all requests to the index.php front controller:

location / {

try_files $uri $uri/ /index.php?$query_string;

}

小编测试环境用的就是宝塔面板的Nginx-1.11.13宝塔面板下laravel路由设置踩坑记

于是在nginx.conf文件中做了如下配置

宝塔面板下laravel路由设置踩坑记

重点是这行

location / {

try_files $uri $uri/ /index.php?$query_string;

}

在 vhost目录中的网站218.22.250.70.conf文件中配置如下

宝塔面板下laravel路由设置踩坑记

小编开始认为只要nginx.conf文件有路由改写配置就可以了,结果不承想laravel中routes/web.php的如下内容基本上都路由不成功。

Route::get('test',function(){

echo 'key';

});

Route::get('/', function () {

return view('welcome');

});

Route::get('foo', function () {

return 'Hello World';

});

结果是这这样的

宝塔面板下laravel路由设置踩坑记

宝塔面板下laravel路由设置踩坑记

宝塔面板下laravel路由设置踩坑记

看来只有218.22.250.70/ 这个网站根目录路由才可以,其它都不行,为什么?小编为此折腾了好几天。

修改的配置

终于有一天,小编想是不是还是ngnix配置的问题,小编在vhost/218.22.250.70.conf文件中也做了如下配置

location / {

try_files $uri $uri/ /index.php?$query_string;

}

如图

宝塔面板下laravel路由设置踩坑记

再次重启nginx后访问218.22.250.70/foo,终于如愿以偿的出现了期望的界面

宝塔面板下laravel路由设置踩坑记

至此,宝塔面板下laravel的路由设置终于配置正确。

总结

宝塔面板支持创建多个网站,在配置nginx时要针对子网站的需要配置好vhost/*.conf文件,如上所述,总的nginx.conf文件有的配置并不能继承到vhost/*.conf中去。类的继承概念在这里不起作用。

未经允许不得转载:新闻 » 宝塔面板下laravel路由设置踩坑记