2014-02-24 4 views
1

나는이 사이트를 가지고 있습니다 (예 : http://example.com/). 모든 요청을 http://example.com/#!/the_requested_page으로 리디렉션 (사용자가 주소 표시 줄의 URL을 봐야 함)하고 싶습니다..htaccess 하위 폴더로 모두 리디렉션

그래서 이것은 내가 어떻게 할 것입니다 :

  • 요청을 http://example.com/=> 표시 http://example.com/
  • 요청 http://example.com/somepage=>는 요청 http://example.com/#!/somepage=>http://example.com/#!/somepage
  • http://example.com/#!/somepage
  • 들보기

어떻게 이것을 .htaccess 파일로 할 수 있습니까?

나는 이것을 시도했지만 위 목록의 두 번째 부분을 수행하지 않는다. 내가 http://example.com/somepage을 요청하면

RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_URI} !^/#!/ 

# Don't apply to URLs that go to existing files or folders 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# Rewrite all those to insert /folder 
RewriteRule ^(.*)$ /#!/$1 [L] 

그것은 주소 표시 줄에 있지만, 웹 사이트 홈 페이지 (http://example.com)을 보여주고 있음을 보여준다. 게다가

, 난 당신이 나를 도울 수 있기를 바랍니다 ...

을이 리디렉션하지 않지만, 그냥 다시 작성합니다.

답변

0

첫 번째 조건을 제거하십시오. URL의 # 부분은 서버에 보내지지 않은 이므로 일치시킬 수있는 방법이 없습니다. 규칙을 다음으로 변경하십시오.

RewriteRule ^(.+)$ /#!/$1 [L,R,NE] 
+0

감사합니다. 그 첫 번째 부분에서 내 두뇌를 사용 했어야했는데 ... – jelsief

관련 문제