求适配Laravel 9+的robots.txt添加教程或兼容包
适用于Laravel 9+的robots.txt配置方案
一、手动创建静态文件(零依赖)
直接在项目根目录的public文件夹下新建robots.txt,写入你的爬虫规则即可。示例内容:
User-agent: * Disallow: /admin/ Allow: / Sitemap: https://your-domain.com/sitemap.xml
这种方式所有Laravel版本都兼容,部署时会随静态资源一同发布,无需额外配置。
二、使用兼容的第三方包
推荐spatie/laravel-robots-txt,它已适配Laravel 9及更高版本,步骤如下:
- 安装包:
composer require spatie/laravel-robots-txt - 发布配置文件:
php artisan vendor:publish --provider="Spatie\RobotsTxt\RobotsTxtServiceProvider" - 在
config/robots-txt.php中配置全局规则,也可通过代码动态调整不同场景的规则 - 访问域名根目录的
robots.txt即可生效
三、自定义动态生成(无需依赖包)
如果需要根据环境(开发/生产)切换规则,可通过路由实现动态生成:
- 在
routes/web.php添加路由:
Route::get('/robots.txt', function () { $content = match (app()->environment()) { 'production' => view('robots.production'), default => view('robots.local'), }; return response($content)->header('Content-Type', 'text/plain'); });
- 在
resources/views/robots目录下创建对应视图文件:production.blade.php:写入生产环境的爬虫规则local.blade.php:写入开发环境的规则(比如禁止所有爬虫)
内容的提问来源于stack exchange,提问作者Leslie Joe
相关产品推荐
相关产品推荐

