2017-10-25 9 views
1

저는 일주일 동안이 문제로 어려움을 겪었습니다. 나는 Anguarjs를 사용하고 html5mode (true)를 설정하여 전에 url에 필요한 해쉬 기호 "#"를 제거합니다. 모든 것이 잘 작동하고 쿼리 매개 변수로 URL 로직이 작동합니다.Angularjs/.htaccess로 된 예쁜 URL

www.domain.com/thecurrentpage/?title=banana

내가 뭔가를 클릭 한 후 오른쪽 내용을 표시 할 때 그것은 변경하고 페이지를 새로 고칩니다.

www.domain.com/thecurrentpage/banana

을 그리고 같은 페이지에 와서 :

난 그냥 같은 링크를 가질 수 있어야합니다. 실제로 쿼리 매개 변수가있는 첫 번째 요소를 가리 킵니다. 나는 규칙을 다시 작성하고 모든 각도 라우팅을 사용하여 .htaccess 파일에서 모든 것을 시도한 것처럼 느낀다. 나는 단지 그것을 얻지 않는다.

+0

여기서 '각도 1'은 무엇입니까 –

+0

그것은 $ locationProvider.html5Mode (true)입니다. # 기호를 제거하기 위해. 그리고 나는 이것이 .htaccess 파일이나 그 반대의 것에 영향을 미치지 않는다는 것을 언급합니다. – Tsere

답변

0

라우팅에 : ​​구문을 사용하고 싶습니다. 라우팅에서

이 같은 경로를 추가 :

/thecurrentpage/:title 

은 그럼 당신은 사용할 수 있습니다

$routeParams.title 

를이 도움이 될 값이 "바나나"

를 얻으려면 ... AngularJS: Read route param from within controller

+0

제가 이해할 수 있을지 모르겠습니다. www.domain.com/thecurrentpage/banana를 주소 입력란에 붙여넣고 Enter 키를 누릅니다. 그럼 실제로는 www.domain.com/thecurrentpage/index.html?title=banana에오고 싶습니다 하지만 지금은 www.domain.com/thecurrentpage/banana/index.html ...에 존재하지 않습니다. – Tsere

+0

좋아,이 가장 큰 문제는 html5Mode (true)로 Angular 해시 태그를 제거했다는 것입니다. 내가 이해할 때 해시 태그 이후의 모든 것이 실제로 index.html로 계산되지는 않는다. 그것은 당신이 그것을 지정하는 것입니다. .htaccess 파일에서 해시 태그를 제거해야한다고 가정합니다. – Tsere