2017-01-10 3 views
-2

단일 페이지 사이트가 있습니다. 내 페이지에 멀티 섹션이 있습니다. 섹션을 #으로 정의합니다. 예를 들어 detail 섹션의 URL은 http://bamap.ir/#/details입니다. 어떻게이 .htacccess있는 URL 패주 수 있습니다 ....htaccess의 URL 재 작성 방법

  • http://bamap.ir/detailshttp://bamap.ir/#/user-authentication
  • 로 이동 http://bamap.ir/#/details
  • http://bamap.ir/user-authentication로 이동

을 :

나는 다음과 같은 몇 가지 URL을 패주 할 ?

+0

[AngularJS urls (# symbol)에서 조각 식별자 제거] (http://stackoverflow.com/questions/14771091/removing-the-fragment-identifier-from-angularjs-urls-symbol) –

+0

I angularjs를 사용하지 않았습니다. –

+0

다음은 무엇을 사용하고 계십니까? 나는 당신이 당신의 질문을 자세히 말해야한다고 생각한다. –

답변

0

난 당신이 HTML5가 제공하는 역사의 API보고해야한다고 생각 : https://www.w3.org/TR/html5/browsers.html#the-history-interface

Tfunction removeHash() { 
    var scrollV, scrollH, loc = window.location; 
    if ("pushState" in history) 
     history.pushState("", document.title, loc.pathname + loc.search); 
    else { 
     // Prevent scrolling by storing the page's current scroll offset 
     scrollV = document.body.scrollTop; 
     scrollH = document.body.scrollLeft; 

     loc.hash = ""; 

     // Restore the scroll offset, should be flicker free 
     document.body.scrollTop = scrollV; 
     document.body.scrollLeft = scrollH; 
    } 
} 

대답 here

0

#이 서버로 전송되지 않는 fregment로 재 작성하는 것은이 불가능 해입니다 인용. 그러나 R 플래그를 사용하여 임의의 URI를 할당 해제 할 수 있습니다.

RewriteEngine on 
RewriteRule ^detail/?$ /#/detail [NE,R] 

/detail로 이동하면/#/detail로 리디렉션됩니다.