.htaccess를 사용하여 하위 도메인을 디렉토리에 다시 쓸 수 있습니까?
예:
내용을 보여줍니다
답변
.htaccess 파일에 넣으십시오.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub.domain.com
RewriteRule ^(.*)$ /subdomains/sub/$1 [L,NC,QSA]
보다 일반적인 규칙 (뿐만 아니라 모든 하위 도메인에서 작동 함 sub
)의 경우 마지막 두 줄을 다음으로 바꿉니다.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*)$ subdomains/%1/$1 [L,NC,QSA]
답변
나는 mod_rewrite 전문가가 아니며 종종 어려움을 겪지 만 내 사이트 중 하나에서 이것을 수행했으며 상황에 따라 다른 플래그 등이 필요할 수 있습니다. 나는 이것을 사용하고있다 :
RewriteEngine on
RewriteCond %{HTTP_HOST} ^subdomain\.example\.com$
RewriteCond %{REQUEST_URI} !^/subdomains/subdomain
RewriteRule ^(.*)$ /subdomains/subdomain/$1 [L]
나머지 사이트에 대한 다른 재 작성 규칙은 나중에 적용하여 하위 도메인 재 작성을 방해하지 않도록해야합니다.
답변
.htaccess 에서 다음 규칙을 사용하여 하위 도메인을 하위 폴더에 다시 쓸 수 있습니다 .
RewriteEngine On
# If the host is "sub.domain.com"
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
# Then rewrite any request to /folder
RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]
줄 단위 설명 :
RewriteEngine on
위의 줄은 서버가 URL을 다시 쓰기 위해 엔진을 켜도록 지시합니다.
RewriteCond %{HTTP_HOST} ^sub.domain.com$ [NC]
이 줄은 정규식 패턴을 사용하여 HTTP 호스트와 일치하는 RewriteRule의 조건입니다. 조건은 호스트가 sub.domain.com 이면 규칙을 실행하는 것입니다.
RewriteRule ^((?!folder).*)$ /folder/$1 [NC,L]
이 규칙은 http://sub.domain.com/foo 와 일치 하며 내부적으로 http://sub.domain.com/folder/foo로 리디렉션합니다 .
sub.domain.com 을 하위 도메인으로 바꾸고 폴더를 하위 도메인을 가리 키려는 폴더의 이름으로 바꿉니다 .
답변
나는 같은 문제가 있었고 http://www.webmasterworld.com/apache/3163397.htm 에서 자세한 설명을 찾았습니다 .
내 솔루션 (하위 도메인 내용은 다음 폴더에 있어야합니다 sd_subdomain
.
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} subdomain\.domain\.com
RewriteCond $1 !^sd_
RewriteRule (.*) /sd_subdomain/$1 [L]
답변
이렇게하면 동일한 폴더로 하위 도메인으로 리디렉션됩니다.
.httaccess
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain\.com/subdomains/%1
답변
이 .htaccess 파일을 하위 도메인 폴더에 넣으십시오.
RewriteEngine On
RewriteRule ^(.*)?$ ./subdomains/sub/$1
http://sub.domain.com/ 만 표시하려는 경우 http://domain.com/subdomains/sub/로 리디렉션됩니다 .
답변
하위 도메인 디렉토리 리디렉션 :
RewriteCond %{HTTP_HOST} ^([^.]+)\.(archive\.example\.com)$ [NC]
RewriteRule ^ http://%2/%1%{REQUEST_URI} [L,R=301]