2013-03-25 5 views
0

내 htaccess에 다음 규칙이 있습니다. 다시 쓰기 URL 끝에 변수를 추가해야합니다. 기본적으로 나는 동일한 도메인을 가리키는 두 개의 도메인을 가지고 있으며 어떤 도메인을 사용했는지에 따라 다른 사이트를 보여주고 있습니다..htaccess mod_rewrite 도메인을 기반으로

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
Rewriterule ^(.*)$ /rrr/$1 [L] 

사람은 rrr.me 또는 www.rrr.me에 그들이 내 웹 사이트의 RRR 디렉토리에있는 index.php를 얻을 이동합니다. 위대한 작품!

이제 변수를 index.php에 추가 할 수 있어야합니다. 따라서 어떤 사람은 rrr.me/abc을 입력하고이 방법으로 index.php의 끝에 abc를 덧붙입니다. index.php?var1=abc

Olaf Dietsche의 의견 이후 새로운 REWRITE 규정.

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
RewriteCond %{REQUEST_URI} !/assets/ 
Rewriterule ^.*$ /rrr/index.php?rrr=$0 [L] 

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
Rewriterule ^assets/.*$ /rrr/$0 [L] 
+0

최종 규칙이 수정되었습니다. '! assets' 조건은 * first * 규칙에 추가되어야하고 두 번째 규칙은'! rrr' 규칙을 가져야합니다. 희망이 도움이됩니다. –

+0

Spot on! 모든 도움을 주셔서 감사합니다. 정말로 감사드립니다. 또한 나는 꽤 많이 배웠다 :-) – superphonic

답변

1

은 당신이 사용할 수있는, 당신은 자산 파일의 경우 추가 RewriteCond

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
RewriteCond %{REQUEST_URI} !/assets/ 
Rewriterule ^(.*)$ /rrr/$1 [L] 

를 사용해야합니다

Rewriterule ^.*$ /rrr/index.php?var1=$0 [L] 

assets 디렉토리를 제외하려면 쿼리 문자열로 요청 된 URL을 추가하려면 유사한 리디렉션

RewriteCond %{HTTP_HOST} ^(www\.)?rrr\.me 
RewriteCond %{REQUEST_URI} !^/rrr 
Rewriterule ^assets/.*$ /rrr/$0 [L] 
+0

고마워. 내 규칙의 세 번째 줄을 줄 바꿈으로 바뀌 었습니다. 이제 내부 서버 오류가 발생합니다. 어떤 아이디어? – superphonic

+0

@ superphonic 당신이 요청한 URL은 무엇입니까? 서버 로그에 액세스 할 수 있습니까? –

+0

Rewriterule을 추가 한 후, rrr.me에 가서 내부 서버 오류가 발생했습니다. Rewriterule 규칙을 다시 적용하면 예상대로 작동합니다. RewriteCond를 변경하지 않았습니다. – superphonic