如何在Symfony中使用html文件方法验证(google)域所有权?
如何在Symfony应用程序中添加html文件以保护域名所有权 这是我的工作解决方案,但我认为它相当丑陋,因为:如何在Symfony中使用html文件方法验证(google)域所有权?,symfony,google-webmaster-tools,Symfony,Google Webmaster Tools,如何在Symfony应用程序中添加html文件以保护域名所有权 这是我的工作解决方案,但我认为它相当丑陋,因为: 我必须创建一条特殊路线 我必须将文件存储在我认为应该存在的/web目录之外 步骤1-创建路由(src/mybundle/resources/config/routing.xml my_route_name: path: /google43d423494a0981c2.html defaults: { _controller: MyBundle:Main:
my_route_name:
path: /google43d423494a0981c2.html
defaults: { _controller: MyBundle:Main:googleCheck}
步骤2-创建控件操作
public function googleCheckAction(){
return $this->render('google43d423494a0981c2.html.twig');
}
/!\carrieve-技巧1您需要使用.twig扩展名重命名该文件,否则将无法工作
现在将文件放在app/Resources/views下/
您也可以将文件放在任何捆绑包视图中,只需在controler操作中更改路径
处理这种情况的最佳方法是什么?三个选项:
web/
文件夹中放置一个HTML文件,并让web服务器呈现它routing.yml
中创建一条路由并[使用默认控制器为其提供服务](),然后将模板存储在app/Resources/views
的根目录中
gwt:
path: /google43d423494a0981c2.html
defaults:
_controller: FrameworkBundle:Template:template
template: '::google43d423494a0981c2.html.twig'
我个人会选择选项#2,因为我不想将与应用程序无关的文件添加到存储库中。你确定1吗?我非常确定,当你访问www.mydomain.com/google43d423494a0981c2.html关于2时,这会导致404-你的意思是编辑apache/ngix conf文件吗?3)是的,我试过了,但没用。我想这是因为树枝伸展的把戏。我仅使用.html扩展名对其进行了测试。如果您使用的是nginx,并且使用Symfony建议的默认配置,那么如果文件存在,它将返回该文件(因为
try\u files
语句)。这与它返回存储在web文件夹中的图像、CSS和JavaScript文件的方式相同。它恰好是一个HTML文件,这与nginx无关。好吧,如果您使用的是Apache,它会略有不同-您需要使用mod_rewrite
和-f
条件(Apache相当于nginx的try_文件
)。请参阅。它实际上在具有以下url的localhost上工作,但我认为它在prod上会失败,因为apache root位于/web上,所以url将是www.mydomain.com/google43d42394a0981c2.html,这将导致404不过我还没有检查你的try_files选项。它可以在生产或开发中使用-我知道,因为我以前做过。当您(或任何人)请求googlexxx.html
时,Apache将在root
位置查找文件(是否是web/
取决于您的配置)。如果它在那里,它将呈现它,否则它将把请求传递给PHP来处理。