如何在Symfony应用程序中添加一个html文件来证明域名的所有权?
这是我的工作解决方案,但我认为它非常丑陋,因为:
- 我必须创建一条特殊路线
- 我必须将文件存储在我认为它应该存在的/web 目录之外。
步骤 1 - 创建路由(src/mybundle/Ressources/config/routeing.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 扩展名重命名文件,否则这将不起作用。
现在将文件放在应用程序/资源/视图/您还可以将文件放在任何捆绑视图中,只需更改控制器操作中的路径即可。
处理此案的最佳方法是什么?
三个选项:
-
只需将 HTML 文件放在
web/
文件夹中,然后让 Web 服务器呈现它。 -
如有必要,你可以将它存储在Symfony项目之外,并告诉你的Web服务器在哪里可以找到它。
-
或者,在
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,因为我不想将与应用程序无关的文件添加到存储库中。