サイトを作り直したばかりで、URL を新しい構造に変更するためにいくつかの書き直しを開始しようとしています。ペアの親切なサポートのおかげで、私はほとんどそこにいますが、彼らはそのような問題に対処することになっていないことを知っているので、ここでパズルの最後のピースを手に入れることができることを願っています.
やりたいことは4つあります。
- スペースをアンダースコアに変換します。
- "(2003)" を "- 2003" に変更して、括弧を削除します。
- html 呼び出しの構造を変更します。
- リダイレクトを強制して、検索エンジンが新しいアドレスを取得できるようにします。
今、これは私が持っているものです:
RewriteEngine On
Rewritecond %{HTTP_HOST} ^(desktopscenes.com|www.desktopscenes.com)$ [nc]
RewriteRule ^(.*)\s(.*)$ $1_$2 [N]
RewriteRule ^(.*)\((.*)$ $1-_$2
RewriteRule ^(.*)\)(.*)$ $1$2
RewriteRule ^(.*)slides/(.*)\.html$ /$1index.htm#$2.jpg [NE,R=301]
内部で適切にリダイレクトされるjpgファイルへのリンクを除いて、すべてが機能しますが、アドレスバーに適切な新しいアドレスを表示する方法が見つかりません。
たとえば、この古い URL は次のとおりです。
http://www.desktopscenes.com/Scenes from Big Sky Country (2003)/slides/First Montana Sunset.jpg
次の場所に画像を適切に表示します。
http://www.desktopscenes.com/Scenes_from_Big_Sky_Country_-_2003/slides/First_Montana_Sunset.jpg
しかし、ブラウザー バーには新しいアドレスが表示されません。これは、検索エンジンに新しいアドレスが通知されていないことも意味していると思います。
「R=301」で「同じアドレスへのリダイレクト」を試みましたが、おそらくループが原因で失敗しました。他に何を試すべきかわからない、何かアイデアはありますか?