带有laravel的站点地图

php*_*per 6 php xml sitemap laravel

我在LARAVEL的项目中工作.

我想制作站点地图.这是我的控制器:

class SitemapController extends BaseController {
        public function index() {
                header("Content-Type: text/xml;charset=utf-8");
                return View::make('sitemap');
        }
}
Run Code Online (Sandbox Code Playgroud)

这是我的观点sitemap.blade.php:

{{<?xml version="1.0" encoding="UTF-8" ?>}}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
        <url>
                <loc>{{url()}}</loc>
                <priority>0.5</priority>
        </url>
        .
        .
        .
</urlset>
Run Code Online (Sandbox Code Playgroud)

但结果不是以XML形式出现的.它看起来像一个普通的文字.

php*_*per 6

它在我使用时有效:

{{'<?xml version="1.0" encoding="UTF-8" ?>'}}
Run Code Online (Sandbox Code Playgroud)

我更新了我的控制器:

class SitemapController extends BaseController {
        public function index() {
                $content = View::make('sitemap');
                return Response::make($content)->header('Content-Type', 'text/xml;charset=utf-8');
        }
}
Run Code Online (Sandbox Code Playgroud)

  • 我只是为这一行抛弃了刀片并使用了`<?php echo'<?xml version ="1.0"encoding ="UTF-8"?>'; ?>`让它为我工作 (2认同)

Sop*_*phy 5

我建议你应该使用这个软件包https://github.com/RoumenDamianoff/laravel-sitemap

安装

将以下内容添加到您的composer.json文件中:

"roumen/sitemap": "dev-master"

然后在Laravel中注册此服务提供商:

'Roumen\Sitemap\SitemapServiceProvider',

发布配置文件.(可选的)

php artisan config:publish roumen/sitemap
Run Code Online (Sandbox Code Playgroud)