2013-11-02 12 views
0

도메인이 있습니다 (예 : example.com). 루트에 freesites이라는 폴더가 있습니다. freesites (sf)의 각 하위 폴더에 대해 하위 도메인 (sf.example.com)을 추가합니다. 각 하위 폴더에는 index.php 파일로 시작하는 별도의 웹 응용 프로그램이 있습니다.htaccess 하위 도메인으로 리디렉션

root (example.com) 
|-- index.php 
|-- .htaccess 
|-- ... 
|-- freesites 
    |-- sf1 (sf1.example.com) 
    |-- index.php 
    |-- ... 
    |-- sf2 (sf2.example.com) 
    |-- index.php 
    |-- ... 
    |-- sf3 (sf3.example.com) 
    |-- index.php 
    |-- ... 

문제 : 나는 방문자가 example.com/freesites/sf1/blabla로 요청을 보낼 싶지 않아요. 작동하지 않습니다. 이 요청을 sf1.example.com/blabla으로 리디렉션하고 싶습니다. 또한 크롤러가 이러한 유형의 요청을 수행하는 것을 금지하고 있습니다.
.htaccess 및 robots.txt에 필요한 코드는 무엇입니까?
참고 : .htaccess에서 www가 아닌 ​​www로 리디렉션되었습니다.

EDIT1 : .htaccess 내용

Options +FollowSymLinks 
IndexIgnore */* 
RewriteEngine on 
RewriteBase/
RewriteRule ^freesites/([^/]+)/(.*)$ http://$1.example.com/$2 [R,L] 
RewriteCond %{HTTP_HOST} ^www.example.com 
RewriteRule (.*) http://example.com/$1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 

하고 뭔가 내가 아래 (테스트되지 않은) 코드에서 사용하는 것에 명확하지 않다 경우는, 언제나처럼

답변

0

작동 the documentation 표시되지 않습니다

RewriteRule ^freesites/([^/]+)/(.*)$ http://$1.example.com/$2 [R,L] 

크롤러는 어딘가에서 링크되어있는 경우 이러한 URL을 크롤링하지만 너무 크다. 리디렉션을 따라야하고 '양호한'URL 만 저장해야합니다.

+0

작동하지 않습니다! 나는 .htaccess 콘텐츠로 내 질문을 편집했다. – JalalJaberi

+0

흠. 나는 이것을 내 localhost에 신속하게 넣었고 그 규칙은 유효하다. 이 서버를 테스트 할 하위 도메인이없는 서버가 있으므로 그 점을 많이 도와 드릴 수는 없습니다. – Sumurai8

관련 문제