2013-03-01 121 views
0

不好意思問這個......我看到的這個不同的答案,但我找不到人幫我(概率,因爲我很新的這個過程)與國防部重寫假子域

繼承人的問題。我想假一子域,讓人們去sub.domain.co.uk但服務器把它讀成domain.co.uk/?event=sub那麼他們可以添加其他童車一樣sub.domain.co.uk/Login導致domain.co.uk/?event=sub&url=Login等等等等

我到目前爲止的代碼是這樣的:

RewriteCond %{REQUEST_URI} !\.(php|html?|jpg|gif)$ 
RewriteRule ^(.*)([^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301] 

# Rewrite event/url/action1/action 2 etc. 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.co\.uk$ [NC] 
RewriteRule ^/$ /index.php?event=%1 [QSA,L,NC] 
RewriteRule ^([^/]*)/$ /index.php?event=%1&url=$1 [QSA,L,NC] 
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?event=%1&url=$1&action1=$2 [QSA,L,NC] 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?event=%1&url=$1&action1=$2&action2=$3 [QSA,L,NC] 

這幾乎就是......它獲得的url,action1和action2但不是事件!..如果我把/關閉,所以它看起來像這樣RewriteRule ^$ index.php?event=%1 [QSA,L,NC]然後我得到的事件,但它試圖加載下一個命令等

sub.domain.co.uk 

負載

domain.co.uk/?event=sub&url= 

這是不好的毛病,因爲當我加載動作2是404級的我!有人幫助其驅使我堅果

回答

0

這是一個沮喪和骯髒的修復我已經完成。我的.htaccess現在是這樣的:

# Rewrite event/url/action1/action 2 etc. 
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.co\.uk$ [NC] 
RewriteRule ^/$ /index.php [QSA,L,NC] 
RewriteRule ^([^/]*)/$ /index.php?url=$1 [QSA,L,NC] 
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?url=$1&action1=$2 [QSA,L,NC] 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?url=$1&action1=$2&action2=$3 [QSA,L,NC] 

,並在php我有這樣的:

$sub = explode ('.' , $_SERVER['HTTP_HOST']); 
$event = $sub[0] == 'www' || $sub[0] == 'domain' ? false : $sub[0] ; 

現在我可以看到,如果在$事件VAR加載或不...

如果有人有一個更清潔的方式我都耳朵,但這是我的作品HUZZAR