2011-11-10 7 views
0

「%11」と「%28」のページをリダイレクトする際に問題が発生します。の.htaccessリダイレクトの問題

私はいくつかのページをリダイレクトしようとしていますが、残りの部分は動作しますが、リダイレクトされていないシンボルがいくつかあることがわかりました。例えば

Redirect 301 /cars/mercedes%11benz/ http://www.example.com/cars/mercedes-benz/

Redirect 301 /alfa-romeo/alfa-romeo-147-%282001%E2%80%932009%29-2008090174/ http://www.example.com/cars/alfa-romeo-147/

は動作しません。

ご協力いただきありがとうございます。

答えて

0

基本的にASCIIテキストのみが許可されるように指定します。あなたはURLに空白を持っているかもしれません。削除してください。

mod_rewriteについては、文字の範囲内のドット文字をエスケープする必要がない、つまりハイフンが最初に正しく配置されていて、スペースがエスケープされていることを除いて、あなたは正しいと思います。 üはおそらくエスケープする必要はありませんが、傷ついてはいけません)。変換を行うブラウザに関しては、それはApacheが理解する(そして内部的に正しい文字に変換する) "ブラウザのこと"です。

これを試してみてください:返信用

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^%?\ ]*\% 
RewriteRule ^. http://www.example.com/ [R=301,L] 


RewriteRule ^/cars/mercedes-benz/ http://www.test-site.com/cars/mercedes%11benz/ [QSA] 
+0

感謝を。上記のコードはサイト全体またはページだけをリダイレクトしますか?申し訳ありませんが、私はこれらのものにかなり新しいです。上記の2つのページに関してあなたの方法を私に見せてもらえますか?どうもありがとう! – mobz

+0

基本的には、古いサイトからURLを変更することはできません。リダイレクトを実現する方法はありますか? thanks – mobz

+0

更新された回答を参照してください –