我正在將一個自定義編碼的博客遷移到Wordpress,並且必須設置一個將處理所有博客帖子的重定向。高級.htaccess重定向問題
我需要從這個重定向:
/oldblogdirectory/Old_Blog_Posts_Looked_Like_This.htm
到:
/newblogdirectory /新博客,帖子,看樣這/
任何想法的正則表達式像這樣的重定向?
我正在將一個自定義編碼的博客遷移到Wordpress,並且必須設置一個將處理所有博客帖子的重定向。高級.htaccess重定向問題
我需要從這個重定向:
/oldblogdirectory/Old_Blog_Posts_Looked_Like_This.htm
到:
/newblogdirectory /新博客,帖子,看樣這/
任何想法的正則表達式像這樣的重定向?
濃湯的做法肯定是要做到這一點。我做了兩個測試目錄:
oldblogdir/archives/blog_posts_look_like_this.htm
newblogdir/archives/blog-posts-look-like-this
並且下面的RewriteRules重定向成功。他們只是稍微改變爲甘博的建議:
RewriteEngine on
RewriteBase/
RewriteRule ^(oldblogdir/archives/[^_]*)_(.*) $1-$2 [N]
RewriteRule ^oldblogdir/archives/(.*?)\.htm$ newblogdir/archives/$1 [R,NC,L]
注意,[N]
導致.htaccess文件將被重新評估,直到正則表達式不再匹配。所以你應該把它放在文件的最頂端。
試試這個mod_rewrite規則:
RewriteEngine on
RewriteRule ^(oldblogdirectory/[^_]*)_([^_]*)_(.*) /$1-$2-$3 [N]
RewriteRule ^(oldblogdirectory/[^_]*)_(.*) /$1-$2
RewriteRule ^oldblogdirectory/(.+)\.htm$ /newdirectory/$1/ [L,R=301]
但對於大寫改爲小寫轉換你要麼需要像internal tolower
function一個映射,或者你使用PHP兩者。
這似乎不起作用。有什麼建議麼? – TWLATL 2009-11-30 13:55:27
@SerpicoLugNut:你能詳細說明一下嗎? – Gumbo 2009-11-30 15:27:03
當我使用它時,它不會產生將舊帖子位置重定向到新的效果。我將它放在我的根.htaccess中。作爲參考,該網站的結構是這樣的: 老: mydomainname.com/oldblogdir/archives/old_blog_posts_look_like_this.htm 新: mydomainname.com/newblogdir/archives/new-blog-posts-look-like-this/ 我正在修改位於此處的.htaccess文件: mydomainname.com/.htaccess – TWLATL 2009-11-30 18:33:11
你的問題太含糊。舊網址中應該有一些標識符,我們可以將其傳遞到新網址,例如,帖子ID,日期/時間 – mauris 2009-12-07 13:23:57