Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Symfony中使用html文件方法验证(google)域所有权?_Symfony_Google Webmaster Tools - Fatal编程技术网

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

如何在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:

如何在Symfony应用程序中添加html文件以保护域名所有权

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

  • 我必须创建一条特殊路线
  • 我必须将文件存储在我认为应该存在的/web目录之外
  • 步骤1-创建路由(src/mybundle/resources/config/routing.xml

    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服务器呈现它

  • 如有必要,您可以将其存储在Symfony项目之外,并告诉您的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来处理。