如何在 Symfony 中使用 html 文件方法验证 (google) 域所有权?

How to verify (google) domain ownership with html file method in Symfony?

如何在 Symfony 应用程序中添加 html 文件以证明对域的所有权?

这是我的工作解决方案,但我认为它很丑陋,因为:

  1. 我必须创建一条特殊路线
  2. 我必须将文件存储在我认为它应该存在的 /web 目录之外。

第 1 步 - 创建路线 (src/mybundle/Ressources/config/routing.xml

my_route_name:
     path:      /google43d423494a0981c2.html
     defaults: { _controller: MyBundle:Main:googleCheck}

第 2 步 - 创建控制器操作

public function googleCheckAction(){
    return $this->render('google43d423494a0981c2.html.twig');
}

/!\ Carreful - 技巧 1 您需要使用 .twig 扩展名重命名文件,否则这将不起作用。

现在把文件放在app/Resources/views/下 您也可以将文件放在任何捆绑视图中,只需更改控制器操作中的路径即可。

处理这种情况的最佳方法是什么?

三个选项:

  1. 只需在web/文件夹中放一个HTML文件,让网络服务器渲染它。

  2. 如有必要,您可以将其存储在 Symfony 项目之外,只需告诉您的网络服务器在哪里可以找到它。

  3. 或者,在 routing.yml 中创建路由并[使用默认控制器提供服务] (http://symfony.com/doc/current/cookbook/templating/render_without_controller.html) 并将模板存储在 app/Resources/views 的根目录中.

    gwt:
        path: /google43d423494a0981c2.html
        defaults:
            _controller: FrameworkBundle:Template:template
            template:    '::google43d423494a0981c2.html.twig'
    

我个人会选择选项 #2,因为我不想将与应用程序无关的文件添加到存储库中。