2010-04-01 3 views
3

두 가지 :htaccess가 루트에서 하위 폴더로 리디렉션 한 다음 URL을 마스크 하시겠습니까?

첫째 - 나는라는 폴더 V2에 위치한 웹 사이트의 버전 2를 가지고 있고, 내가 www.example.com 때문에, V2 폴더의 자식이 아닌 트래픽을 리디렉션 할/v2

루트에있는 이전 사이트는 iWeb에서 생성되었으며 많은 하위 폴더와 하위 폴더가 있습니다.

그래서 :

www.example.com/v2 = 새 사이트

www.example.com/Page.html

www.example.com/category/Page.html

ww.example.com/category/subcategory/Page.html = 리디렉션해야하는 모든 일반적인 예입니다.

두 번째로이 가능할지 모르겠다. URL에/v2 /를 숨기고 싶다. 방문자가 www.example.com/page를 실제로 볼 수 있도록 www가 실제로 있음에도 불구하고 .example.com을/V2/페이지

링크 그래서 <a href= "처럼 V2 폴더에 하드 코딩되어 V2/contact.html ">이를 내려고

어떤 도움이 가장 감사합니다. 내가 소비 한 시간 htaccess와 정규 표현식에 대해서만 배우고 있으며 혼란 스럽습니다.

정말 고마워요!

답변

3
RewriteCond %{REQUEST_URI} !^v2/ 
RewriteRule ^(.*)$ v2/$1 [L] 
+0

대단히 감사합니다! 이것은 정말로, 정말로 나를 도왔다! 나는 그것을 많이 고맙다! – KiwiCoder

+1

안녕하세요, 저는 아주 비슷한 것을 시도합니다. 하위 사이트 www.example.com/ss3으로 www.example.com 리디렉션을 원하지만 사용자의 URL에 ss3이 표시되어서는 안됩니다. 귀하의 예를 들어 마스킹이 작동하지 않습니다. 많은 고맙습니다, 플로리안 – spierala

1

전에 v2를 포함하여 모든 내용을 다시 작성하십시오.

RewriteRule ^(.*)$ v2/$1 [L] 

www.example.com/Page.html should now be processed as /v2/Page.html 

사용자에게 보내는 URL에 v2 /를 포함하면 안됩니다.

는 다음 답변 V2/V2/

+0

감사가 될 것입니다! 어떻게 작동하는지 알 수 있습니다. 나는 내 질문에 명확하지 않은 것을 유감스럽게 생각한다 - 내가 실제로해야할 일은 v2/폴더 (www.example.com/v2)에 v2/폴더의 자식이 아닌 것을 리다이렉트하는 것이다. 이전 사이트 (연락처, 제품, about 등)에있는 페이지의 내용을 모두 v2/폴더의 루트로 리디렉션하도록합니다. 때문에 이전 사이트에있는 모든 하위 폴더, 나는 정규식 알아낼 필요가 : IF v2가 아닌 URL을 누른 다음 리디렉션 (매우 un-techy 말하기 사용) :) 답변 주셔서 감사합니다! – KiwiCoder