2009-12-01 92 views
0

我們有一個在英國各地有很多分支機構的客戶。他們的一些分支機構擁有自己的網站,並擁有自己的域名。客戶有一個部分建立系統訪問:使用查詢字符串的Apache mod-rewrite重定向域名

www.client.com/aboutus.php?id=branchId 

顯示該特定分支的關於我們頁面。我需要的是在特定的域映射到其branchId(這是所有存儲在DB的時刻),以便

www.client.com/aboutus.php?id=4 

映射到

www.branchid4.com/aboutus.php 

回答

1

這對我有用。不知道您的域名可以用一個通用的規則集工作(即搶ID,然後在重寫規則使用),否則你將需要爲每個URL

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(www.)?client.com$ 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /aboutus\.php\?id=4\ HTTP/ 
RewriteRule ^.*$ http://www.branchid4.com/about.php? [R=301,L] 
+0

感謝莎拉重複上次的3條線。不知道這是否可以維持,因爲我們可以爲每個網站8個頁面和超過100個分支機構。我也想知道我是否確實說明了重定向。我想用戶輸入: www.branchid4.com/about我們 但頁面實際上是 www.client.com/aboutus.php?id=4 這是否有意義? – Jeepstone 2009-12-01 12:14:18

0

你可以採取的重要組成部分出路的主機名並將其傳遞給您的腳本:

RewriteEngine on 
RewriteCond %{QUERY_STRING} !(^|&)branchName= 
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.com$ 
RewriteRule .* $0?branchName=%1 [L,QSA] 
相關問題