2012-01-25 140 views
0

我有一個博客,它有舊的日期爲基礎的固定鏈接。 EG:Blog.com/2011/10/post-name.htaccess URL重寫Wordpress舊固定鏈接

我的新固定鏈接現在是基於類別和帖子名稱的,但也位於/ blog /前面。 EG:Blog.com/blog/category-name/post-name

我需要在我的HT Access文件中做些什麼來克服這個問題?我有這樣的事情,到目前爲止,但目前沒有工作..

#RewriteRule ^[0-9]{4}/[0-9]{2}/.*$ /blog/$1 [R=permanent,L] 
+0

您的原始網址沒有類別,所以只使用輸入URL(在.htaccess中)不可能重定向到具有類別的URL,除非所有項目都在同一類別中,或者您有可用於派生的規則來自帖子名稱的類別 –

+0

對不起,我忘了添加Wordpress圖片ks自動重定向。所以如果你只是去新的永久鏈接/博客/ 2011/10 /後名稱它也重定向你/博客/類別/後名 – ajay87

回答

0

如果/blog/2011/10/post-name已經重定向你太/blog/category/post-name(確保它是一個301),那麼所有你需要做的就是發送 /2011/10/post-name/blog/2011/10/post-name

您可以通過將下面的規則放在站點根目錄下的.htaccess文件中來實現。

RewriteEngine on 
RewriteBase/

#redirect blogs posts to /blog 
RewriteRule ^([0-9]{4}/[0-9]{2}/.+)$ /blog/$1 [R=301,L] 
0

這看起來像是將網站從/ blog /移動到根目錄所做的;是這樣嗎?

如果是這樣,您應該查找/替換數據庫中的URL,以免不必使用.htaccess規則。

這在phpMyAdmin將更新後的GUID的查詢運行擺脫/博客/路徑:

UPDATE wp_posts SET guid = replace(guid, 'http://www.domain.com/blog/','http://www.domain.com/'); 

您可能還需要更改帖子內容的URL:

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.domain.com/blog/', 'http://www.domain.com/');