2016-11-29 1 views
-1

우선, 절름발이 질문 (아마)에 대해 사과드립니다. 답변을 찾으려고했지만 문제가 필요한 모든 것을 찾지 못했습니다.경로 컨트롤러를 사용하지 않고 페이지 URL을 변경하십시오.

그래서 ... 나는 부트 스트랩 웹 사이트를하고 난 다음과 같이 표시 할 페이지의 URL을 변경하는 것을 시도하고있다 : 예를 들어

: www.site.com/AboutUs.html - www.site로 표시 .COM /이 다음과 같이 우리에 대해-

나는이의 pushState 방법을 사용하고 있습니다 :

var stateObj = { AboutUs: "about-us" }; 
history.pushState(stateObj, "About Us", "about-us"); 

그래서 나는 거기에 필요한 URL 주소를 얻을 수 (www.site.com/about-us) .. 여태까지는 그런대로 잘됐다. 그러나 페이지 새로 고침시 "요청 된 URL/about-us가이 서버에서 발견되지 않았습니다."라는 오류가 발생합니다. . 나는 다시 브라우저 버튼을 누르면 경우 는 다시 www.site.com/AboutUs.html 간다 (홈 페이지에 가기로되어있다)

내 질문은 :

내가 무엇을 놓치고 , 나는 컨트롤러를 만들고 어떻게해야합니까?

저는 C#을 사용하지 않고 있습니다. PHP를 잘 사용하지 못해서 도움을받을 수 있습니다. JavaScript/jQuery를 환영합니다.

미리 감사드립니다. 바보 같은 질문에 대해 사과드립니다.

행복한 날!

+0

URL을 변경하기 위해 pushState를 사용하는 것만으로는 MVC를 사용하면 얻을 수있는 이점을 실제로 얻지 못합니다. 시작하기에 도움이되는 위대한 튜토리얼이 많이 있습니다. 또는 더 나은 아직, Laravel, Symfony, CakePHP 등과 같이 이미 존재하는 프레임 워크를 사용하십시오. – WillardSolutions

답변

0

pushState의 요지는 다음과 같이 말할 수 있습니다. JavaScript로 페이지를 수정 했으므로 서버에이 URL을 요청한 경우 새로운 상태가됩니다..

이 문제는 JavaScript를 사용해서는 안됩니다. 특정 URL에 페이지가 나타나길 원할뿐입니다.

원하는 URL에 원하는 콘텐츠를 제공하도록 서버를 구성해야합니다.

내가 무엇을 놓치고 있는지, 나는 컨트롤러를 만들고 어떻게해야합니까?

URL /about-us을 처리하려면 서버에 뭔가가 필요합니다.

"컨트롤러"는 서버에서 MVC 아키텍처를 사용하고 있다면 아마도 사용할 것입니다 ... 그리고 당신처럼 보이지 않습니다.

더 많은 가능성이 당신이 mod_write 같은 Alias, 도구를 사용하고자하는 것, 또는 단순히 about-us라는 디렉토리에 정적 파일을 이동하고 index.html 이름을 변경.

+0

환영 인사들과 답변들. 나는 ASP를 사용하지 않는다 .net mvc 그렇다. 맞다. 그것이 내가 그것없이 어떻게되는지를 묻는 이유입니다. 질문이 하나 더 있습니다. 파일을 새 디렉토리로 이동하면 검색 엔진 최적화에 영향을 미칩니 까? 그리고이 모든 하나의 새로운 htaccess 파일을 작성해야한다는 뜻입니까? 도움 주셔서 감사합니다. :-) – Nikolay

+0

"asp .net mvc를 사용하지 않았습니다."- MVC는 ASP.NET MVC에 배타적이지 않은 일반적인 디자인 패턴으로, 그 패턴을 사용하는 프레임 워크입니다. – Quentin

+0

"파일을 새 디렉토리로 이동하면 검색 엔진 최적화에 영향을 미칩니다"- [this] (https://www.google.co.uk/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#)를 참조하십시오. q = URL +와 + SEO를 변경하는 것) – Quentin

관련 문제