http://example.com/company/d9c363ae-a1b7-11e6-a66d-9e9923e30d94/
및 http://example.com/company/custom-domain.com
을 사용하여 연결할 수있는 엔티티가 있습니다.Symfony 라우팅 : UUID에서 맞춤 slug로 리디렉션하는 방법
이제 Company
에는 슬러그가있을 수 있지만 슬러그는 가질 수 없습니다.
도메인 집합이 있는지 확인하고 URL이 UUID를 기반으로하는 경우 슬러그가있는 버전으로 리디렉션하고 싶습니다. 도메인이 설정되지 않은 경우 UUID를 사용하여 페이지를 표시하기 만하면됩니다.
# routing.yml
redirect_company_to_domain:
path: /company/{domain_host_or_id}
defaults: { _controller: AppBundle:Company:redirectToDomain }
requirements:
url: .*/$
methods: [GET]
을 그리고 내 컨트롤러에서 나는이 방법을 쓰기가 :
나는이 this Symfony's tutorial 다음했던
/**
* Redirect the URLs with a trailing slash to the version without it.
*
* @param Request $request
*
* @return \Symfony\Component\HttpFoundation\RedirectResponse
*/
public function redirectToDomainAction(Company $company, Request $request)
{
die(dump($company));
}
문제는 컨트롤러가 호출되지 것입니다.
무엇이 잘못되었거나 잘못 되었습니까? 왜 길은 그 길에서 절대로 가로 채지 않습니까?
어쩌면 내가 주석과 구성을 섞어서 routing.yml
에 있었기 때문에? CompanyController
의 경로는 모두 특수 효과를 사용하여 설정되기 때문에
그러나 사용 app/console debug:router
나는 제대로 경로 설정을 볼 수
redirect_company_to_domain GET ANY ANY /company/{domain_host_or_id}
는 또한, 내가 후행 슬래시를 제거를 구현했습니다으로 튜토리얼에서 설명하는 방법은 작동 확신합니다.
왜 내가이 리디렉션을 만들지 않는지 이해할 수 없습니다.