我已经生成了一个站点地图.xml文件,并希望返回。我将该文件放在我的views文件夹中,并发送了以下内容:
Route::get('/site-map', function(){
return view('sitemap.xml');
});
虽然我只是不能让它显示出来。
发布于 2018-06-09 04:12:51
默认情况下,Laravel不支持将.xml
文件作为视图加载。话虽如此,您的问题有以下几种解决方案:
sitemap.xml
放在/public
目录中。浏览器将能够看到http://yourdomain.com/sitemap.xml
.application/xml
或text/xml
,以告诉浏览器您正在提供的文件实际上是一个Content-Type
文档。return response(file_get_contents(resource_path('sitemap.xml')),200,'Content-Type‘=>’应用程序/xml‘);
.xml
扩展,方法是在服务提供者(例如位于app/Providers/AppServiceProvider.php
的AppServiceProvider
的register
方法)中执行以下操作:app('view.finder')->addExtension('xml');
一旦你这样做了,Laravel应该将.xml
识别为一个有效的视图扩展,并加载你的XML文件,就像它是一个视图一样。这还有一个额外的好处,那就是能够将数据传递给它,并在视图中使用Blade/PHP,如果您想:
返回view('sitemap');
https://stackoverflow.com/questions/50767373
复制相似问题