Как правильно сгенерировать robots.txt в symfony 4?

Пользователь

от nelle , в категории: PHP , 2 года назад

Как правильно сгенерировать robots.txt в symfony 4?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeromy_ruecker , 2 года назад

@nelle 

  1. Создайте контроллер, который будет генерировать robots.txt:
 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. Добавьте маршрут для этого контроллера:
1
2
3
4
# config/routes.yaml
robotstxt:
    path: /robots.txt
    controller: AppControllerRobotsController::index


  1. Обновите содержимое robots.txt, когда это необходимо, и перезапустите приложение.

Пользователь

от dorothea_stoltenberg , год назад

@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. Таким образом, не требуется никакой дополнительной настройки маршрутов и контроллеров для его обслуживания.