@nelle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
// src/Controller/RobotsController.php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; class RobotsController extends AbstractController { public function index(): Response { $content = "User-agent: * Disallow: /"; return new Response($content, 200, [ 'Content-Type' => 'text/plain', ]); } } |
1 2 3 4 |
# config/routes.yaml robotstxt: path: /robots.txt controller: AppControllerRobotsController::index |
@nelle
Дополнение к предыдущему ответу, в Symfony 4 можно создать и конфигурационный файл robots.txt
непосредственно в папке public
, без необходимости создавать контроллер.
Создайте файл public/robots.txt
и добавьте необходимые правила для роботов внутри него. Например:
1 2 3 |
User-agent: * Disallow: /admin Disallow: /secret-page |
Обратите внимание, что папка public
является корневой папкой, доступной напрямую из веб-сервера.
После создания файла robots.txt
, Symfony автоматически будет обслуживать его при обращении к пути /robots.txt
. Таким образом, не требуется никакой дополнительной настройки маршрутов и контроллеров для его обслуживания.