我有以下路线:
misc_email_availability:
path: /email-availability/{email}
defaults: { _controller: App\Controller\Misc\EmailAvailabilityAction }
methods: [GET]
requirements:
email: .+
但是当我点击/email-availability/my-mail@domain.com
时,symfony返回404,因为值中的.
,可能会将其解析为格式,尽管事实上我覆盖了需求中的模式(这里解释为允许/
中的{{1}}:
有没有办法让这项工作?
答案 0 :(得分:0)
您的代码在我的本地服务器(symfony 4.0.4)上给出了错误500,直到我在控制器名称后添加您要调用的方法名称( :: methodName ):
misc_email_availability:
path: /email-availability/{email}
defaults: { _controller: App\Controller\Misc\EmailAvailabilityAction::methodName }
methods: [GET]
requirements:
email: .+
这是我的配置:
<强>配置/ routes.yaml 强>
email:
path: /check-email/{email}
methods: [GET]
defaults: { _controller: App\Controller\Admin\HomeController::email }
requirements:
email: .+
<强> SRC /控制器/管理/ HomeController.php 强>
namespace App\Controller\Admin;
[...]
class HomeController extends Controller
{
public function email($email)
{
var_dump($email);
die();
}
}
通话结果:http://server.local/check-email/test@example.com
string(16) "test@example.com"
希望有所帮助