我將所有子域名更改爲單個域名。 但是,爲了不失去我所有的搜索引擎優化,我需要做一些301重定向。我的問題是,我有大約10.000個子域名(這是一個關於城市的網站,每個城市都是一個子域名),所以我需要制定一個通用的重寫規則,以便創建新的URL(否則我的htaccess將會太大)。Mod Rewrite不會將子域名重定向到新的URL格式
我試着自己做,但由於某種原因,它正在做它想做的事(所以我想我做錯了什麼)。這裏是我的代碼:
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com/b/^(.*)
RewriteRule ^(.*) http://domain.com/city/$1/b/$2 [R=301,L]
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com
RewriteRule ^(.*) http://domain.com/?multi_city=$1 [R=301,L]
這是這兩個規則會發生什麼。
city.domain.com --> domain.com/?multi_city=/
city.domain.com/b/place --> domain.com/?multi_city=/b/place
我在做什麼錯? 在此先感謝。
我改變了,但沒有真正有所作爲。 我試過其他的東西,如這裏寫的解決方案[鏈接] http://webmasters.stackexchange.com/questions/14048/mod-rewrite-rule-for-wildcard-subdomains [/鏈接],但仍然無法正常工作。 但是,如果我強制每個城市重寫(例如'RewriteCond%{HTTP_HOST}^new-york.domain \ .com 'RewriteRule ^(。*)http://domain.com/?multi_city=new-york )他們確實工作。 – enekomh
我有關於此的新信息。如果我嘗試從任何URL刪除www,我應該這樣做:'RewriteCond%{HTTP_HOST}^www \ .mysite \。(。+) RewriteRule ^(。*)$ http://mysite.%1/$1 [R = 301,L]'這將做到這一點,但如果我嘗試這樣做'RewriteCond%{HTTP_HOST}^www \ .mysite \ .com(。+) RewriteRule ^(。*)$ http:/ /mysite.com%1/$1 [R = 301,L]'它將簡單地忽略條件規則,所以我猜問題應該在那個區域(或不)。 – enekomh