2013-03-14 56 views
0

我有一個問題與Apache和.htaccess。什麼是我需要:使從www.mywebsite.com的URL重寫rome.mywebsite.com或lasangeles.mywebsite.comurlrewrite使用url參數

腳本是如何工作的: 啓動PHP腳本 讀取cookie,並得到一個值(即羅馬) 腳本會發送一個報頭位置的index.php區=羅馬使用參數.htacess clould做出URL重寫像rome.mywebsite.com

我做什麼 : - 我已創建通配符DNS記錄A,如* .mywebsite.com - 我正在使用以下規則:

RewriteCond %{HTTP_HOST} !www.mywebsite.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-_]+).mywebsite.com [NC] 
RewriteRule (.*) %{SCRIPT_FILENAME}?zone=%2 [NC,QSA] 

但它不工作!

在這裏發佈之前,我在網站上搜索,但所有的答案都不好,我的問題。

你有什麼想法來解決這個問題嗎?

在此先感謝所有

+0

如果你使用PHP做一些處理,然後重定向,是有沒有重定向從PHP到羅馬的一個原因。 example.com或losangeles.example.com直接?爲什麼你需要整個htaccess重定向? – hexblot 2013-03-14 09:54:27

+0

我需要一個基於url中的參數的urlrewrite – giak 2013-03-14 09:57:50

+2

你提到你開始PHP腳本,讀取一個cookie,獲取一個值,併發送一個標頭位置到'index.php?zone = XXX'。你爲什麼不把這個頭文件發送到'XXX.example.com'呢? – hexblot 2013-03-14 09:58:57

回答

0
Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www.mywebsite.com 
RewriteCond %{HTTP_HOST} ^([w]{3})?\.?([a-z0-9-]+)\.mywebsite\.com 
RewriteRule ^/? /index.php?zone=%2 [QSA] 

試試這一個,只是做剩下來解決它,如果有一個錯誤。
我剛剛給了你一個例子,但仍然沒有經過測試。

如果上面的代碼沒有工作,然後嘗試下面的代碼:

Options +FollowSymlinks 
RewriteEngine on 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www.mywebsite.com 
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.mywebsite\.com 
RewriteRule ^/? /index.php?zone=%1 [QSA] 

RewriteCond %{HTTP_HOST} !^www.mywebsite.com 
RewriteCond %{HTTP_HOST} ^www\.([a-z0-9-]+)\.mywebsite\.com 
RewriteRule ^/? /index.php?zone=%1 [QSA]