2012-08-02 230 views
0

好吧長話短說:的.htaccess子域的流量到文件夾和子文件夾

http://subdomain.domain.com/test1/test2 需要在此處顯示的信息: http://domain.com/agents/subdomain/test1/test2

,顯然,如果你有這個 http://subdomain.domain.com/ 需要顯示 http://domain.com/agents/subdomain/

這是我到目前爲止:

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


RewriteCond %{HTTP_HOST} !^(www\.)?domain\.com [NC] 
RewriteCond %{HTTP_HOST} ([^\.]+)\.domain\.com [NC] 
RewriteCond %{REQUEST_URI} !^/agents 
RewriteRule ^(.*)$ /agents/%1/$1/ [L] 

我需要第一個規則來擺脫URL中的index.php。

我可以完成第一件作品http://subdomain.domain.com/但不是子文件夾。

上述語法拋出一個內部服務器錯誤,但如果我的最後一行更改爲:

RewriteRule ^$ /agents/%1/$1/ [L] 

它的工作原理除了我不能到子目錄。

回答

0

好吧終於想通了這一點......這裏的解決方案:

RewriteEngine On 
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{HTTP_HOST} ^(www\.)? domain\.com [NC] 
RewriteRule ^(.*)$ /index.php?/$1 [L] 


RewriteCond %{HTTP_HOST} !^(www\.)? domain\.com [NC] 
RewriteCond %{HTTP_HOST} ([^\.]+)\. domain\.com [NC] 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteRule ^/?(.*) /index.php?/agents/%1/$1 [L]