我有一個很大的WordPress網站,在過去的6年中一直使用http://[root]/[category]/[postname]的永久鏈接結構,現在我想更改它以刪除類別網址的一部分。將.htaccess更改爲301重定向並從URL中刪除通配符類別
我可以很容易地做到這一點,但很明顯我會遇到一個問題,搜索引擎發送人到不正確的地址,所以我想在我的.htaccess中添加一行到301重定向到沒有類別的新路徑。
然而類別是動態的,如果URL中有下列條款
(圖像,圖像的wp-content,可溼性粉劑管理員,WP-包括)
它不能改變URL我想列表中的數組,所以我可以添加到它,如果我發現其他名稱不能改變。
因此,作爲一個例子
http://www.lazygamer.net/sony/sonys-trying-trademark-lets-plays/
應該成爲
http://www.lazygamer.net/sonys-trying-trademark-lets-plays/
但
http://www.lazygamer.net/images/2014/07/Lets-play-a-game_thumb.jpg
不得昌Ë
所以行RewriteRule ^([^ \ /] +)/([^ \ /] +)/?$/$ 2/[r = 301,nc,L]會刪除URL中的類別嗎?你能解釋一下它在做什麼嗎? –
它將匹配任何網址與/ [任何文本沒有正斜槓]/[任何文本沒有正斜槓#2]。這是非常廣泛的,所以如果它與任何其他規則衝突,你可能不得不調整它。然後它將301重定向到/ [沒有正斜槓#2的任何文本]/ 例如, /mycat /一些-新聞文章將重定向到/一些-新聞文章 該行的規則[R = 301,NC,L]是指: 問題301重定向 NC =任何情況下 L =應用的最後一條規則 您顯然需要確保WordPress處理新的URL,並且如果有其他規則,則將此新重寫邏輯放置在您的htaccess的正確位置。 – Denouncer