2013-10-29 63 views
5

這個問題可能已經被要求了上千次,但我已經嘗試了這麼多腳本,並且搜索了很長時間,但沒有發現任何內容,我想,讓我們來問一下。.htaccess - 將子域重定向到文件夾

我只是希望m.daltonempire.nl被重定向到daltonempire.nl/m/而用戶不會看到URL更改。

因此,如果要求m.daltonempire.nl/hello.php,我希望用戶繼續看到此URL,而給出的頁面實際上是daltonempire.nl/m/hello.php

注:我不想www.,所以乾脆提前http://m.daltonempire.nl

感謝,

賽v Hunen

回答

2

我設置CNAME我下面的子域:

blog.mydomain.com

到我的WordPress所安裝文件夾/blog/根目錄下。

以前我需要使用這個網址可以稱之爲WordPress:

http://blog.mydomain.com/blog/

這是醜陋的。我已經嘗試了許多代碼重定向:

http://blog.mydomain.com/

到該文件夾​​,所以我可以用它作爲我的WordPress URL地址。

最後我得到了.htaccess設置,該設置工作:

RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^blog\.mydomain\.com$ 
    RewriteCond %{REQUEST_URI} !^/blog/ 
    RewriteRule (.*) /blog/$1 

我也有其他的CNAME子域:http://forum.mydomain.com到MyBB的安裝文件夾/forum/mybb/所以.htaccess需要把[L]在每個如下重寫規則代碼。

RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^forum\.tophyips\.info$ 
    RewriteCond %{REQUEST_URI} !^/forum/mybb/ 
    RewriteRule (.*) /forum/mybb/$1 [L] 

    RewriteCond %{HTTP_HOST} ^blog\.tophyips\.info$ 
    RewriteCond %{REQUEST_URI} !^/blog/ 
    RewriteRule (.*) /blog/$1 [L] 

如果你要使用的代碼,請不要忘記設置的應用程序配置文件的網站的網址和Cookie路徑遵循的設置,使重定向正常工作。

4

試試這個例子:

RewriteCond %{HTTP_HOST} ^([^/.]+)\.example\.com$ 
RewriteCond %1 !^(www|ftp|mail)$ [NC] 
RewriteRule (.+)$ "http://example.com/%1" [L,P] 

的任何請求http://test.example.com將映射到http://example.com/test/...

試試Google搜索dynamic subdomain with php and htaccess以獲得更好的搜索結果。

+7

1年後,當我嘗試Google和PHP搜索'動態子域名和htaccess'我發現這個問題... – Jared

+0

@Latheesan導致無限循環 – Adrian

4

這在Web根目錄添加到您的.htaccess/目錄

RewriteEngine on 
RewriteBase/

RewriteCond %{HTTP_HOST} ^m\.daltonempire\.nl$ [NC] 
RewriteCond %{REQUEST_URI} !^/m(/|$) [NC] 
RewriteCond %{REQUEST_FILENAME} !-d # not a dir 
RewriteCond %{REQUEST_FILENAME} !-f # not a file 
RewriteRule ^(.*)$ m/$1 [L] 

%{REQUEST_FILENAME}條件將允許您訪問/exists.php,它不重寫/m/exists.php。如果要重寫,即使可能覆蓋現有文件和目錄,也要刪除這兩個。

+0

謝謝,作品像一個魅力!我幾乎已經放棄了整個重寫的事情,一直在嘗試10種不同的方式來做這件事,而其他方式都給了我500錯誤。 –

+0

@ kK-Storm很高興能有所幫助:) –

相關問題