2010-07-05 49 views
1

幾天後,我問了一下重定向動態目錄的index.php,我得到這個代碼,可以完美運行(這是我在.htaccess中的唯一代碼):RewriteEngine敘述:子域的index.php,怎麼樣?

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule (.*) index.php 

這意味着像http://mydomain.example/dynamicdir/到URL http://mydomain.example/index.php

現在我要像翻譯子域http://dynamicdir.mydomain.examplehttp://mydomain.example/index.php?dir=dynamicdir

從例子我在網上查到我想加入這一行:

RewriteRule ^(.*)\.mydomain\.example index.php?dir=$1 

但它不工作。我沒有足夠的模塊重寫經驗來告訴你什麼是缺失或錯誤。能否請你幫我找到一種方法來保持動態目錄翻譯,並添加捕獲所有子域名規則?

問候!

回答

0

mod_rewrite規則使用請求路徑,它是相對於虛擬主機。嘗試爲每個虛擬主機設置不同的重寫規則,但將其文檔放在同一個目錄中。

0

隨着RewriteRule你只能測試URL path。對於主機名,您需要在RewriteCond中使用%{HTTP_HOST}

RewriteCond %{HTTP_HOST} ^(.+)\.example\.example$ 
RewriteRule^index.php?dir=%1 
相關問題