2017-08-21 82 views
1

我有一個17歲的網站,有超過15000篇文章。我最近從靜態HTML頁面獲得了4000多篇文章,另有一個CMS(www.ez.no)的9000多篇文章遷移到了一個/單獨的WordPress網站,因此301需要通過.htaccess重定向。15k文章需要301重定向

我的開發者已經重定向所有的人都在.htaccess文件。

以下是工作沒有靜態HTML的網址有任何問題:

Redirect 301 /aai-mmn1.html 
http://www.example.com/perspectives/a-tale-of-two-killings 

但是下面不工作,因爲我怎會下面這一個涉及到動態

Redirect 301 /content/view/full/8590 
http://www.example.com/articles/evidence-still-matters 

Redirect 301 
http://world.example.com/content/view/full/8590 
http://usa.example.com/content/view/full/8590 
http://asiapacific.example.com/content/view/full/8590 
http://canada.example.com/content/view/full/8590 

http://www.example.com/articles/evidence-still-matters 
+0

它不清楚你所需要的。我認爲你不希望所有的動態URL重定向到同一頁面http:// www.example.com/articles/evidence-still-matters'? – FluffyKitten

+0

謝謝你的迴應。我確實希望該文章特有的所有動態網址(即example.com的子網域)都會重定向到新網址。我希望這是有道理的。 – McKhan

回答

0

假設mod_rewrite可用,你可以簡單地這樣做:

RewriteEngine On 
RewriteRule ^content/view/full/8590 http://www.example.com/articles/evidence-still-matters [R=301,L] 

也就是說,如果你要的不僅僅是一個我可能會更多的文章做到這一點採取不同的方法:

1 - 當導入數據時使su如果您不想再次將它們用作ID,則可以將它們添加到列,例如old_id或類似的列。

2 - 寫期望一箇舊ID作爲參數,並通過拉從DB的reuqired信息發出301重定向到新的URL的PHP​​腳本。

3 - 添加一個htaccess規則強制所有舊網址的PHP腳本:

RewriteRule ^content/view/full/([0-9]+) old_to_new_article_redirect.php?old_id=$1 
+0

演示了這裏的基本重定向http://htaccess.mwl.be?share=b3c5142d-32bc-5810-b70c-8c1aa40319c3 – Bananaapple

+0

演示了重定向到劇本重寫規則在這裏http://htaccess.mwl.be?share=67e5ea8f -6362-5c14-81f2-dd92a3ab7460 – Bananaapple

+0

謝謝你的迴應。恐怕我對編程一無所知。 我剛剛打開.htaccess文件,並看到所有這些數千重定向。 能有簡單的代碼我可以使用嗎?例如: 重定向301^example.com/content/view/full/92371 http://www.mediamonitors.net/aai-mmn1.html (^)表示所有的子域(即usa.example。 com,world.example.com) 然後我將使用「查找並替換」並手動更改所有網址。 謝謝。 – McKhan