我自己沒有測試過,但它應該工作。
RewriteCond %{QUERY_STRING} show=(.*)
RewriteRule ^(index\.php|)$ http://%1.domain.tld [R=301,L]
RewriteRule ^(admin|special1|special2)\.php http://$1.domain.tld [R=301,L]
RewriteCond %{HTTP_HOST} ^(admin|special1|special2)\.domain\.tld$ [NC]
RewriteRule (.*) http://domain.tld/%1.php [L,NC,QSA]
RewriteCond %{HTTP_HOST} www\.domain\.tld [NC]
RewriteRule (.*) http://domain.tld/$1 [L,R=301,QSA]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.tld$
RewriteRule (.*) http://domain.tld/?show=%1[L,NC,QSA]
如果用戶在他的瀏覽器http://domain.tld/admin.php
,那麼他將被重定向到http://admin.domain.tld
。但如果他輸入http://admin.domain.tld
,他將不會被重定向到外部。讓我知道如果這是你想要的。
請顯示您的嘗試 – Gerben 2012-03-05 14:41:57