作者:黑色鲜花_866 | 来源:互联网 | 2023-07-27 13:25
正在使用laravel进行开发,项目中的静态资源目录与路由会出现同名,比如:
1 2 3 4 5 6 7
| //web的静态资源路径
/public/web/xxx
//定义的路由
Route::group(['prefix' => 'web'], function () {
Route::get('/', 'XxxController@indexPage');
}); |
如果这样配置的话,在开发环境使用php内置服务器访问 localhost:8000/web 会出现404错误:
1
| The requested resource /web_dealer was not found on this server. |
研究了一下,应该是因为public目录下有同名的资源路径,所以服务器没走路由,直接当静态资源进行处理。但实际上这个web只是一个文件夹,所以才会出现上面的404。
使用apche服务器进行测试,apache似乎会把localhost:8000/web重定向(301)到localhost:8000/web/,页面上会暴露目录结构。设置options -Indexes来只是禁止展现,依旧会对localhost:8000/web进行重定向。
想知道,如果想将静态资源路径和路由命名如上所示进行统一,应该怎么去配置。或者说有没有其他更好的命名方案。