最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • laravel站群下sitemap.xml应该怎么生成

    如果每个域名的sitemap.xml文件内容不同,并且你希望在同一个项目下管理这些不同的sitemap.xml,你可以通过在每个域名的路由中动态生成相应的sitemap.xml来实现。以下是一个简单的示例:

    // routes/web.php
    
    use Illuminate\Support\Facades\Route;
    use App\Http\Controllers\SitemapController;
    
    // 定义sitemap.xml路由
    Route::get('/sitemap.xml', [SitemapController::class, 'index']);
    
    // 其他路由...
    
    // app/Http/Controllers/SitemapController.php
    
    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Response;
    use App\Models\Post;
    
    class SitemapController extends Controller
    {
        public function index(Request $request)
        {
            // 根据请求的域名或其他条件,获取相应的文章列表
            $domain = $request->getHost();
            $posts = Post::where('domain', $domain)->get();
    
            // 生成sitemap内容
            $sitemapContent = '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
            $sitemapContent .= '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL;
    
            foreach ($posts as $post) {
                $url = 'https://' . $domain . '/post/' . $post->id;
                $sitemapContent .= '<url>' . PHP_EOL;
                $sitemapContent .= '<loc>' . $url . '</loc>' . PHP_EOL;
                $sitemapContent .= '</url>' . PHP_EOL;
            }
    
            $sitemapContent .= '</urlset>';
    
            // 返回XML响应
            return Response::make($sitemapContent, 200, [
                'Content-Type' => 'text/xml'
            ]);
        }
    }
    

    在这个示例中,我们首先定义了一个/sitemap.xml的路由,然后根据请求的域名在SitemapController中动态生成相应的sitemap.xml内容。这样,不同域名的请求都会根据其对应的内容生成相应的sitempa.xml,从而达到区分不同域名的目的。

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » laravel站群下sitemap.xml应该怎么生成
    • 10会员总数(位)
    • 14670资源总数(个)
    • 1015本周发布(个)
    • 6 今日发布(个)
    • 106稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情