无法从 URL 访问 Silex 根文件夹文件



我有一个使用Silex的网站。

我在根文件夹中上传了几个文件,例如robots.txt,并且sdk推送通知很少。

当我尝试使用 url 访问该文件时出现问题: 尝试从 chrome 浏览器访问时出现错误domain.com/robots.txt

找不到GET /robot.txt的路线

致命错误:未捕获的异常 'Symfony\Component\Routing\Exception\RouteNotFoundException' with 消息"无法为命名路由"生成 URL"作为此类路由 不存在。 /home/path/domain.com/vendor/symfony/routeting/Symfony/Component/Routing/Generator/UrlGenerator.php:134 堆栈跟踪:#0 /home/path/domain.com/vendor/symfony/twig-bridge/Symfony/Bridge/Twig/Extension/RoutingExtension.php(45(: Symfony\Component\Routing\Generator\UrlGenerator->generate(NULL, NULL, 错误( #1 /home/path/domain.com/data/twig/fe/bb/cd3e9843c1ef02ee591d59cfb1afd51eb5cd52af42e38573c035f7ef4128.php(146(: Symfony\Bridge\Twig\Extension\RoutingExtension->getPath(NULL, NULL( #2 /home/path/domain.com/vendor/twig/twig/lib/Twig/Template.php(276(: __TwigTemplate_febbcd3e9843c1ef02ee591d59cfb1afd51eb5cd52af42e38573c035f7ef4128-doDisplay(Array, 数组( #3 /home/path/domain.com/vendor/twig/twig/lib/Twig/Template.php(250(: Twig_Template->displayWithErrorHandling(Array, Array( #4 /home/path/domain in /home/path/domain.com/vendor/twig/twig/lib/Twig/Template.php on line 291

当你说根文件夹时,你是指public_html文件夹,还是包含"模板"和"src"等文件夹的文件夹?

"找不到'GET/robot.txt'的路由"之后的大php错误实际上是在Silex尝试处理模板文档时抛出的。我猜您的 silex 安装中的错误模板设置不正确。

如果您的 robots.txt 文件位于可公开访问的箔纸中,则不需要 Silex 控制器来提供它,但您确实需要将 Web 服务器配置为在尝试将请求传递给 index.php 之前提供真实文件。

这里有示例配置 https://silex.symfony.com/index.php/doc/2.0/web_servers.html

对于 apache,相关位是

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

对于nginx,相关位是

try_files $uri /index.php$is_args$args;

这些是配置的部分,上面写着"检查这个 url 是否真的有文件,如果没有,请使用索引.php

最新更新