2012-05-07 34 views
1

我使用Intelligenicai.URLRewriter.dll重寫我的網站的網址,它正在罰款我也跟着下面的鏈接作爲一個例子URL重寫和HTML的標題規範鏈接,以避免搜索引擎重複頁面的問題

http://anupkumargupta.wordpress.com/2011/05/28/url-rewriting-with-urlrewriter-net-simplest-way-asp-net-c-sql-blog/

在其他文章中,我讀到URL重寫可以爲搜索引擎問題,現在我們可以用兩種不同的URL一個沒有URL重寫和一個與URL重寫訪問同一頁面。 (點擊鏈接http://thecodebug.com/?p=296

上面提到的鏈接有關搜索引擎的討論,如果他們在網站上發現重複的內容可能會受到懲罰。這篇文章(http://thecodebug.com/?p=296)談到「HTML規範鏈接標頭」如果我們不添加它們,那麼我們可以告訴搜索引擎這個URL是規範的。

現在我的問題是適用於即使我使用Intelligenicai.URLRewriter.dll,如果這是事實,我應該採取什麼措施來避免這種情況。我的URL的

用URL重寫 http://www.xyz.com/Article/en-US/19/87/let-the-spirit-of-our-nation的創始人 - 導us.aspx

URL重寫不 http://www.xyz.com/Article/ArticleDetails.aspx?Language=en-US&PageID=19&ArticleID=87

web.config中的部分

<rewriter> 
    <rewrite url="~/Article/(.+)/(.+)/(.+)/(.+).aspx" to="~/ArticleDetails.aspx?Language=$1&amp;PageID=$2&amp;ArticleID=$3" processing="stop"/> 
    </rewriter> 

回答

1

您可以添加2個規則:將新樣式的鏈接重寫爲物理URL,然後停止處理規則,然後n按照規則重寫直接請求到aspx頁面到新樣式URL,301永久重定向,並停止處理規則。 301重定向很重要!如果你無法通過重寫DLL來做到這一點,那麼你可以將URL重定向到一個特殊的隱藏頁面,該頁面將接受舊頁面作爲查詢字符串或查看引用鏈接,然後將它映射到新頁面,使用301在那裏重定向。

UPDATE:這裏的一些信息:

使用Intelligenica UrlRewriter,你會建立兩個規則,順序如下:

的第一條規則使用你已經建立了重定向規則花哨的URL到物理文件。

第二條規則採用物理文件的路徑,並且(a)404或(b)301 永久重定向到花哨的URL。如果你有一個頁面提供多頁內容,你最好停止處理404錯誤。此外,只要你從未在你的網站的任何地方使用舊式的鏈接,你應該沒問題。如果在任何時候您使用舊樣式鏈接(在重新編寫URL之前),您肯定需要確保您已重寫設置爲重定向或404頁面,以便強制新樣式的URL。

<rewriter> 
    <rewrite url="~/Article/(.+)/(.+)/(.+)/(.+).aspx" to="~/ArticleDetails.aspx?Language=$1&amp;PageID=$2&amp;ArticleID=$3" processing="stop"/><!-- rewrites URL --> 
    <rewrite url="~/ArticleDetails.aspx?Language=(.+)&amp;PageID=(.+)&amp;ArticleID=(.+)" to="~/Article/$1/$2/$3.aspx" processing="stop" permanent="true" /><!-- Redirects old page to new url with 301 --> 
</rewriter> 

希望這會有所幫助。

+0

我在網上做了這樣的事情。config Learning

+0

我很感謝您的回覆,說實話,我無法理解,因爲我在第一次使用這個概念。如果你能指點我,那麼這個例子會很棒。無論如何感謝您的幫助 – Learning