2012-08-31 117 views
1

我使用我的開發環境(阿帕奇2)以下的重寫工作得很好,我上傳到我的生活環境(的Litespeed),它不再工作:(htaccess的阿帕奇的Litespeed

任何想法,爲什麼給出以下?

我使用的是「P」指令「的mod_proxy」這我的主機不支持,我怎樣才能解決這個得到什麼?

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine On 

    RewriteBase/

    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{HTTP_HOST} !^www\. [NC] 
    RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com 
    RewriteRule ^(.*)$ http://example.com/folder/%1/$1 [QSA,NC,P] 

    # Removes index.php 
    RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php?/$1 [L] 

</IfModule> 

回答

1

我採取了不同的方法解決這個問題顯然,mod_proxy方法效率很低,所以我使用一些簡單的代碼在PHP中解決了這個問題確定子域並應用條件來檢查$子域不是空字符串。

$url_parts = explode('.', str_replace('.example.com', '', $_SERVER['HTTP_HOST'])); 
$subdomain = ($url_parts[0] !== '') ? $url_parts[0] : ''; 

我只是重定向到正確的頁面,一旦我知道有一個子域。