2014-04-11 37 views
1

我想重寫/重定向我網站上的網址。下面是我想要完成的事情:重定向並重寫網址並用破折號替換空格

  1. 重定向從www.olddomain.com到www.newdomain.com
  2. 重寫URL和創造潔淨的URL
  3. 否認某些參數創造清潔URL時
  4. 用短劃線替換空白空間%20。

這裏是我的地盤,什麼我想重寫/重定向到的示例網址:

www.olddomain.com/events/events.php?location=los%angeles WWW。 newdomain.com/events/los-angeles

www.olddomain.com/nightclubs/nightclubs.php?location=los%angeles www.newdomain.com/nightclubs/los-angeles

www.olddomain。 com /夜總會/ nightclubDetail.php?venueID = 1234 & userID = 1346 www.newdomain.com/venue/1234

www.olddomain.com/nightclubs/nightclubs.php?cat_type=bars &位置=洛斯%洛杉磯 www.newdomain.com/nightclubs/bars/los-angeles

www.olddomain.com/events/events.php?location=los%angeles www.newdomain.com/events/los-angeles

www.olddomain.com/events/eventsDetail.php?eventID= 1234 & sliding = 5678 & lid = 5432 www.newdomain.com/events/1234

同樣,在谷歌已經收錄的URL包含類似位置字符串:位置=洛杉磯%20angeles

這是怎麼在我的XML站點地圖中的URL被寫入。

如何獲取谷歌與位置串像新網址,以取代目前索引的網址:位置=洛杉磯,洛杉磯

回答

1

添加這些到olddomain.com的htaccess的應該工作:

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /(.*)/(.*)\.php\?cat_type=(.*)&location=(.*)%(.*)\ HTTP 
RewriteRule^http://newdomain.com/%3/%4/%5-%6? [R=301,L] 

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /(.*)/(.*)\.php\?venueID=(.*)&userID=(.*)\ HTTP 
RewriteRule^http://newdomain.com/venue/%4? [R=301,L] 

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /(.*)/(.*)\.php\?location=(.*)%(.*)\ HTTP 
RewriteRule^http://newdomain.com/%3/%4-%5? [R=301,L] 

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /(.*)/(.*)\.php\?eventID=(.*)&slid=(.*)&lid=(.*)\ HTTP 
RewriteRule^http://newdomain.com/%2/%4? [R=301,L] 
+0

感謝您的回答。我還需要爲整個網站添加301重定向嗎?例如:RewriteCond%{HTTP_HOST}^www.olddomain.com [NC] RewriteRule ^(。*)$ http://newdomain.com/$1 [L,R = 301]。這會影響你給出的其他規則嗎? –

+0

你會在其他人之後添加一個。 – Howli

+0

好吧,我也必須爲每個不同的頁面URL創建一個單獨的規則?因爲我只給了你幾個我網站上的URL的例子。還有其他一些變化。每個變體是否應該有一個規則? –

相關問題