내가 같은 경로를 얻기 위해 노력하고 있어요 :MVC 라우팅
{랭 : 옵션}/{컨트롤러}/{작업을}/{ID : 선택 사항} "컨트롤러 제약"으로
이 기사의 아이디어 : (MVC Routing Constraint on Controller Names), 위의 경로는 {lang} 값이 제시 될 때 매우 잘 작동합니다. 그렇지 않으면 작동하지 않습니다는 {LANG} 값을 제시해야합니다 위의 경로에 대한
routeName: testRoute
url: {lang:optional}/list/{something:optional}
{controller = "product", action = "index"}
:
그러나 나는이 경로와 일치하는 문제가있다.
해결 방법에는 두 가지 해결 방법이 있습니다.
첫 번째 방법은 위의 두 가지 경로를 설정하는 것입니다 :
한 매우 표준 :
routeName: testRoute
url: /list/{something}
{controller = "product", action = "index"}
다른 매우 표준 하나를 내가 궁금하고
routeName: testRouteLang
url: {lang:not_optional}/list/{something:optional}
{controller = "product", action = "index", lang="de"}
가 두 가지 표준 경로를 하나의 단일 경로로 결합하는 방법입니다.
두 번째 해결 방법은 하위 도메인 이름을 사용하는 등
http://example.com/list (default to English)
http://de.example.com/list (de)
하지만 난 정말 SEO 이유로 하위 도메인 아이디어 (어쩌면 내가이 점에 대한 잘못된 생각을) 좋아하지 않는다.
제 목표는 URL에서 기본 "en-us"를 제거하는 것입니다. 나는 현재의 문화가 영어가 아닌 경우이
http://www.example.com/list/something (default as English)
내가
http://www.example.com/en-us/list/something
은 "랭"URL 만 제시 될 필요가있는 URL에 "EN-US"강제로 싶지 않아 같은 :
http://www.example.com/de
http://www.example.com/fr/list/something
감사합니다.