2016-05-01 23 views
2

誰かが古い動的URLフォーマットを新しい動的URLフォーマットに変更する手助けをしてくれますか?古い動的URLを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でそれを変更する方法を知っていますが、私は古いURL形式から新しい への301リダイレクトで動作するようにする必要がありますので、私はグーグルでランキングを失うことはありません。ここで

は、現在の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

何URLブラウザで入力しなかった、あなたは何のエラーを取得するのですか? – anubhava

関連する問題