2011-03-05 83 views
0

一個小問題,在過去的幾個月裏讓我覺得很不舒服。首先是好消息:在massiv SO社區的幫助下,我能夠將我的醜陋網址改寫爲好看的網址:例如website.com/page.ast?ln=nlwebsite.com/nl/page如何將舊的醜陋網址改寫爲新的美化工作網址?

谷歌顯示在他們的搜索醜陋網址:

website.com/nl/page.ast?ln=fa

我的網站頁面的代碼確實有規範設置:

<link rel="canonical" href="http://website.com/nl/page"> 
<meta name="original-source" content="http://website.com/nl/page"/> 

然而結果顯然仍然是ge t在錯誤的,醜陋的網址下索引!
Q1。爲什麼谷歌忽略規範更美麗的鏈接?


也許它最好把這個做機械方式:重定向那些website.com/nl/webpage.ext?ln=yywebsite.com/nl/webpage基本不除去這沒有做任何事情.XXX?ln=YYYY(其中XXX爲2或3字符擴展,YYY是語言(的unnessecary部分可以nlbefrzh-CN等)

EXAMPLE OF UGLY OLD FILES THEIR NICE BEAUTIFIED URLS 
/en/somepage.ast?ln=fr   /en/somepage 
/fr/home.php?ln=zh-CN   /fr/home 
/xx/zzzzzz.ext?ln=yyyy   /xx/zzzzzzz 
/xx/zzzzzz?ln=yyyy    /xx/zzzzzzz 
/xx/zzzzzz.ext     /xx/zzzzzzz 

Q2。如何重寫所有醜陋的文件,以漂亮的網址,在一次? SOFAR,初步設計

RewriteRule /XX/ZZZZ(.*anything after and including the dot) /XX/ZZZZ [R=301] 

所以,你有什麼建議?我看到可能的答案的建議。提前謝謝了!

回答

1
  1. 規範網址說,表示此內容的主要網址是不同的。它仍然是一個不同的谷歌網址,它會給一些規範的URL,但可能不會刪除舊的URL,並防止重複的內容考慮。 它特別用於當你的網址添加了一些與內容相關的查詢參數時。 http://something.com/1234/234?ref=g1http://something.com/1234/234?ref=widardnb是相同的網址,但谷歌會認爲它是不同的網址,現在在這種情況下,你給規範網址http://something.com/1234/234。這你,因爲你無法控制像聯屬會員可能會附加到您的網址。

  2. 如果你想實際上只向用戶顯示永久的美化網址。然後你必須做301重定向。

爲此,請在apache配置文件中使用mod_rewrite。

LoadModule rewrite_module /path/to/modules/dir/mod_rewrite.so 

RewriteEngine On 

RewriteBase/
RewriteCond %{QUERY_STRING} ~ !^$ [OR] #Query string is not empty 
RewriteCond %{REQUEST_URI} ~ ^(.*)\.(.*)$ #Your url path have . in between 
RewriteRule .* %1 [R=301,L] #then redirect to path without extension (else all are handled as it is). 

也使重寫日誌

RewriteLog "/path/to/log/directory/rewrite.log" #change the directory name 
RewriteLogLevel 9 #this will help you understanding whats happening behind (disable this once everything starts working) 

我沒有測試過,但讓我知道任何錯誤的情況下。

+0

很有意思。我幾乎不能相信下面的4個單詞重寫引擎On可以解決我的問題:)你可以在每個Coer中寫入'// comment style'後,每行都做些什麼?然後我會測試它並在這裏報告。非常感謝。 – Sam 2011-03-08 03:53:42

相關問題