2010-03-15 9 views
1

나는 정말 많은 방법을 시도했지만 성공하지 못했습니다. 나는 htaccess로 코드가 수행 할 다음가짜 하위 도메인에 대한 MOD 재 작성?

내가이 이름을 바꿀 : http://www.mydomain.com/media을 - http://media.mydomain.com

그래서, 대신 호출의 예에 의해>을 : http://www.mydomain.com/media/XXX/picture.jpg 내가 호출합니다 : http://media.mydomain.com/XXX/picture.jpg

감사합니다.

+1

당신은 수도 http://serverfault.com/에서 더 나은 답변을 얻으십시오. –

답변

-1

rewrite_module이로드되었는지 확인하십시오.

RewriteEngine on 
RewriteCond %{HTTP_HOST} www.mydomain.com 
RewriteRule ^/([^/]*)(.*) http://$1.mydomain.com$2 [L,R] 

COND는 www.mydomain.com과 일치합니다 :

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so 

그런 다음 (당신의 .htaccess에) 다음을 추가합니다. 그런 다음 규칙은 첫 번째 '/'($ 2에 포함)를 사용하여 URL을 2로 분할하고 다시 작성하고 리디렉션합니다.

+1

감사합니다 niry,하지만 그건 작동하지 않습니다 : ( – Ryan

+1

@niry : 나는 OP가 원하는 것의 반대 답변을했습니다 (하지만 확실하게 말할 수는 없습니다). 예를 들어 사용자가'sub.domain/blah'를 입력하고 서버는'domain/sub/blah'를 제공합니다. (BTW, 마지막 주석 에서처럼 백틱은 코드에서 작동합니다.) –

0

그것은 거 같이 할 수있다 : 당신이 반대를 원하는 경우

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.mydomain\.com$ 
RewriteRule (.*) http://www.mydomain.com%1$1 [L,R=301] 
-1

이 (로저의 설명을 참조) 또한 사용자

RewriteEngine on 
RewriteCond %{HTTP_HOST}     !^www\.mydomain\.com$ 
RewriteRule ^(.+)      %{HTTP_HOST}$1   [C] 
RewriteRule ^([^.]+)\.mydomain\.com(.*) http://www.mydomain.com/$1$2 [L] 

를 재지 않고 여기를 참조 : http://httpd.apache.org/docs/1.3/misc/rewriteguide.html

관련 문제