2012-03-25 56 views
0

在部署之前,我需要一點幫助才能使用.htaccess!.htaccess mod_rewrite 301重定向嵌套異常?

我想301重定向差不多所有內容從elementalthreads.com到ethreads.com,不包括blog/wp-content/uploads和/ pommo。

我這樣做的權利?:

RewriteEngine on 
#exclude old uploads folder and /pommo 
RewriteCond %{REQUEST_URI} !^/(blog/wp-content/uploads|pommo) [NC] 
RewriteRule (.*) http://ethreads.com/$1 [R=301,L] 

意志轉移的PageRank規範?

此處,我知道我需要幫助:

  1. 舊的網站有一個WordPress博客,我已經對新域克隆。我很想保持永久鏈接,這是幾乎 1:1,如: http://www.elementalthreads.com/blog/ethreads-now-on-amazon-com/重定向到
    http://ethreads.com/ethreads-now-on-amazon-com/(注/博客/在這裏失蹤)

  2. 而且博客索引http://www.elementalthreads.com/blog/應該重定向到http://ethreads.com/blog/ ,這似乎是上述規則的例外,因爲「/ blog /」應該只保留在這裏?

我難倒如何正則表達式或限定最後這兩個條件/規則。非常感激任何的幫助!

回答

1

這看起來對我來說是正確的。但是,如果不檢查它,則不應該將其實施,否則實際上沒有任何東西阻止您對其進行測試。有一點要記住,瀏覽器可以緩存301個響應代碼,因此在測試時應該使用[R,L]作爲標誌。一旦開心,在部署之前添加[R=301,L]

OK的點(1)&(2)

# only redirect the blog direcotry 
RewriteRule ^blog/?$   http://ethreads.com/blog/ [NC,R=301,L] 

# redirect all sub folders of blog to the new domain 
RewriteRule ^blog/([\w-])/?$ http://ethreads.com/$1/ [NC,R=301,L] 
+0

謝謝!這對於緩存非常有用。我對301的「永久性」本質感到疑惑。你有關於如何在#1和2上面添加/博客和永久鏈接的其他規則/條件的任何提示? – case2000 2012-03-25 18:01:22

+0

@ case2000我已經爲你更新了我的答案。 – baynezy 2012-03-26 10:31:55

+0

謝謝!這很好。我添加了一個規則來處理wordpress類別和標籤'RewriteRule^blog /([^ /] +)/([^ /] +)/?$ http://ethreads.com/$1/$2/ [NC,R ,L]」。出於某種原因,我無法在這種情況下使用'([\ w-])'的模式。你能解釋一下'\ w-'的含義嗎?我明白'([^ /] +)'很好,但我很難用你的模式工作。再次感謝! – case2000 2012-03-26 18:45:43