2012-11-10 85 views
0

我得到這個網址乾淨的URL的mod_rewrite和通配符子域

http://domain.com/blogs/directory-param

這一規則

RewriteBase /博客/目錄/ 重寫規則^ /博客/目錄 - ([A-ZA-Z0 -9 - ] +)$ /blogs/directory/index.php?cat=$1 [L]

,所以我得到/blogs/directory/index.php?cat=param現在我的問題是:

我使用通配符子域名,因此每個* .domain.com都映射到domain.com/blogs/,例如soeren.domain.com映射到domain.com/blogs等等......

我的問題現在是我想soeren.domain.com/directory-param哪些指向domain.com/blogs/directory?index.php?cat=param

的規則你有什麼想法嗎?

+0

你的問題對我來說有點不清楚......你究竟想知道什麼不起作用?你想擺脫子域? – Archimedix

+0

嗨Archimedix我剛剛編輯了上面的問題,我希望現在有點更清楚了...... –

回答

0

這是最終爲我工作:

RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$ 
RewriteCond %{REQUEST_URI} !^/directory(/|$) 
RewriteRule ^blogs/directory-([A-Za-z0-9-]+)$ /directory/index.php?cat=$1 [L,QSA] 

@Archimedix:非常感謝!

0

好了,刪除子域部分,嘗試一個外部重定向:

RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ 
RewriteRule (.*) http://domain.com$1 [R,L,QSA] 

這除了和您現有的規則之前。

+0

哦,我不想刪除子域部分。我在我的服務器上安裝了通配符子域名。所以該域名仍應該是:subdomain.domain.com/directory-param –

+0

我正在尋找這樣的東西:http://soeren.tumblr http://soeren.tumblr.com/post/35400861477。 com/post-35400861477 –

+0

我使用通配符dns,所以一切* .domain.com映射到domain.com/blogs/ –