2013-11-02 250 views
0

我有一個域(說example.com)。根目錄中有一個名爲freesites的文件夾。對於freesites(比如說sf)的每個子文件夾,我添加一個子域(sf.example.com)。在每個子文件夾中都有一個以index.php文件開始的獨立Web應用程序。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中需要什麼代碼?
注意:我現在將www重定向到非www .htaccess。

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] 

抓取工具 - 如果他們從某個地方鏈接過,可能抓取這些網址,但他們也可以應該遵循重定向,只保存'好'的網址。

+0

它不起作用!我用'.htaccess'內容編輯了我的問題。 – JalalJaberi

+0

嗯;我很快就把它放在我的本地主機中,並且規則是有效的。我沒有服務器的子域來測試這個,所以我不能幫你很多。 – Sumurai8