这是我的第一篇文章,所以我会尽力做到可以理解。
我从 symfony 开始,有一个问题我无法单独解决。
这是我的控制器,我正在使用 WAMP。
当我的网址是“mysite.local”时,它正常工作,并且它向我显示它应该做什么(感谢 home() 函数)。但是当我的网址是“mysite.local/hello”时,出现以下错误。
未找到
在此服务器上找不到所请求的 URL。
Apache/2.4.41 (Win64) PHP/7.4.0 服务器位于 mysite.local 端口 80
我想这是正常的,因为我没有创建任何名为“hello”的文件,但它正在我遵循的形式中工作。
请问你能帮帮我吗 ?谢谢
<?php
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class HomeController extends AbstractController
{
/**
* @Route("/hello", name="hello")
*/
public function hello()
{
return new Response("Bonjour ...");
}
/**
*@Route("/", name="homepage");
*/
public function home(){
$prenoms = ["Lior" => 17 , "Joseph" => 12, "Anne" => 55];
return $this->render("home.html.twig",
[
'title' => "Bonjour a tous :)",
'age' => "31 ",
'tableau' => $prenoms,
]);
}
}
?>
请尝试使用
mysite.local/index.php/hello
如果有效,则意味着 .htaccess 文件丢失或 apache 服务器上未启用 mod_rewrite。
首先你可以运行
composer require symfony/apache-pack
自动添加 .htaccess 并测试,如果路由有效则一切正常。
否则你必须编辑httpd.conf
or apache2.conf
文件并启用mod_rewrite
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)