2010-07-12 39 views
0

我需要一個.htaccess文件: 文件將改寫規則​​:htaccess的子站點

xyz.sitename.com 將被改寫爲: sitename.com/index.php/a/ b/XYZ

xyz.sitename.com/m/n/o 將被重寫爲: sitename.com/index.php/m/n/o/xyz

sitename.com/m/n/o 將被改寫爲: sitename.com/index.php/m/n/o

回答

0
Options +FollowSymlinks 
RewriteEngine on 
RewriteRule (.+).sitename.com/ sitename.com/index.php/a/b/$1 
RewriteRule (.+).sitename.com/(.+) sitename.com/$2/$1 

.htaccess trips and tips

+0

它不工作。請再次幫助我 – 2010-07-12 18:26:45

+0

xyz.sitename.com將被改寫爲:sitename.com/index.php/a/b/xyz xyz.sitename.com/m/n/o將被改寫爲:sitename.com/ index.php/m/n/o/xyz sitename.com/m/n/o將被改寫爲:sitename.com/index.php/m/n/o 請解決這個問題,並幫助我 – 2010-07-12 18:27:53

+0

mod_rewrite只適用於域名http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html之後的路徑 - 你需要很多RewriteConds來處理這個... – HorusKol 2010-07-13 00:11:25

0

試試這個:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{HTTP_HOST} ^www [OR] 
RewriteCond /%{HTTP_HOST} ^(/[^\.]+)\.[^\.]+\.[^\.]+$ 
RewriteRule ^.*$ /index.php/$0%1 

雖然,正如我mentioned in another answer,努力營造PATH_INFOmod_rewrite似乎是有點問題的。您可能會有更好的運氣,但可以選擇將路徑寫入查詢字符串或使用變量來獲取這些信息。

+0

這不是工作,請再次幫助我 – 2010-07-13 17:40:50

+0

當它不起作用時會發生什麼? – 2010-07-13 17:56:36