2012-03-15 5 views
0

나는이 조건과 규칙을 함께 넣어 페이지 끝에서 index.shtml을 포함하도록 리디렉션하지만 재 작성의이 부분이 무엇인지 이해하지 못합니다 (^$ 부분). 나는 ^ 수단이 시작 믿고 $ 최종하지만이 상황에서 내가 "영어"에서 그 의미를 이해 해달라고 작동 방법 :이 다시 쓰기 규칙을 설명 하시겠습니까?

RewriteCond %{HTTP_HOST} ^www\.example1\.test\.com [NC] 
RewriteRule ^$ http://www.example1.test.com/index.shtml [R,L] 

감사합니다.

답변

2

^ 문자열의 시작은, $는 끝입니다. 그 사이에 아무 것도 없으면 ^$의 경우처럼 빈 문자열을 의미합니다. 현재 디렉토리로 연결되는 경로는 무시되므로http://www.example1.test.com/ 다음에 일치하는 URL의 부분은 입니다. 다음에 뒤에 오는 "빈 문자열"을 일치 시키면 다음과 같이 URL 자체가 일치하는 것을 의미합니다. 파일이 없거나 지정된 것이 없습니다. 따라서 루트 URL은 index.shtml로 리디렉션됩니다.

+1

+1 기술적 인 설명을 위해, 내 regexp은 녹슨입니다. – Stijn

+0

그 점에 대해 감사드립니다 ... 훌륭한 설명 – frodo

1

사용자가 www.example1.test.com이라는 정확한 URL을 방문하면 http://www.example1.test.com/index.shtml으로 리디렉션됩니다.

유용한 도구 : http://martinmelin.se/rewrite-rule-tester/

+0

감사합니다. 그래서^$는 "www.example1.test.com의 시작부터 끝까지"와 일치하고 index.shtml을 적용합니다. – frodo

+0

좋은 링크, 난 항상 여기에 regexp에 대한 테스트를 말하고 있었다 : http://www.quanetic.com/Regex –

관련 문제