2016-05-01 66 views
2

任何人都可以幫助我將舊的動態網址格式更改爲新的動態網址格式嗎?將舊的動態網址格式改爲301格式的新格式

準確地說,我需要改變下劃線_爲連 - 在url中,但與301重定向 重定向htaccess的,如:

  • example.com/posts/22_keyword/33_this_is_the_example_of_old_url.html

我希望它是:

  • example.com/posts/22-keyword/33-this-is-the-example-of-old-url.html

我知道如何改變它在PHP中,但我需要使它與301重定向從舊的URL格式到新的 在htaccess所以我不會失去在谷歌上的排名。

這是當前htaccess的信息:

RewriteRule ^posts/([0-9]+)([-_][^/]*)?/([0-9]+)([-_][^/]*)?/([0-9]+)([-_][^/]*)?\.html index.php?view=showad&adid=$7&cityid=$1 [QSA] 

是轉換爲:

  • 帖子/ 3_keyword/6_keyword/235530_this_is_the_example_of_old_url.html

我不熟悉與國防部重寫我猜這個對於那些對此有所瞭解的人來說很容易,因爲 所有需要做的就是改變f ROM _到 -

回答

0

您可以使用此遞歸規則轉換_-

RewriteEngine On 

# using internal rewrites replace all _ by - 
RewriteRule ^([^_]+)_(.+?\.html)$ $1-$2 [NC,DPI,E=underscores:1] 

# one final redirect to change URL in browser 
RewriteCond %{ENV:underscores} =1 
RewriteRule ^([^_]+)$ /$1 [R=302,NE,L] 
+0

你在瀏覽器中輸入網址是什麼和你得到什麼錯誤? – anubhava