ホームページために私たちは、URLのような原因当社のウェブサイト上でエンコードされたURLに問題がありました正しいとサイトマップファイル:リダイレクトエンコードされたURLが
はバラwine.php
これらのURLは野生のものだったので、Googleには重複したページがあり、エンコードされたëなどもあります。
htaccessを使ってエンコードされたURLをホームページにリダイレクトする方法はありますか?
おかげで、
リック
することができます。原因ホームページために私たちは、URLのような原因当社のウェブサイト上でエンコードされたURLに問題がありました正しいとサイトマップファイル:リダイレクトエンコードされたURLが
はバラwine.php
これらのURLは野生のものだったので、Googleには重複したページがあり、エンコードされたëなどもあります。
htaccessを使ってエンコードされたURLをホームページにリダイレクトする方法はありますか?
おかげで、
リック
することができます。原因次のhtaccessファイルにリダイレクトすることができます。
RewriteEngine on
RewriteCond %{THE_REQUEST} /ros%3C%A9-wine\.php [NC]
RewriteRule ^/[R=301,L]
これは恒久的に/にURI /ros%3C%A9-wine.phpをリダイレクトします。リダイレクトするために、複数の類似したURIがある場合
、あなたはこれを使用することがあります。
RewriteEngine on
RewriteCond %{THE_REQUEST} /.*%3C|%A9.*\sHTTP [NC]
RewriteRule ^/[R=301,L]
OPのサイトマップに1百万件のURLが間違っている場合はどうなりますか? – DanFromGermany
ありがとう、私は答えを更新しました。 – starkeen
でも、そのリダイレクトはユーザーを正しいアドレスにリダイレクトしません。メインページにリダイレクトされます。私はそれが目標だとは思わない。 – Jehy
!この例では、それはあなたが手動でそれを書く、あるいはプログラムで.htaccessを作成しますが、このような多くのURLがある場合、私は、単純なリダイレクトプログラムを書くことをお勧めすることができ、原因
Redirect ros%C3%A9-wine.php rose-wine.php
することができましたëのようなすべての文字を対応するラテン文字に置き換えます。
<?
$url=$_SERVER['REQUEST_URI'];
$url2=str_preplace('%C3%A9','e');//repeat as many times for other chars as you need
if($url!=$url2)//URL was wrong
{
Header('Location: '.$url2)//redirect user to correct URL
exit();
}
?>
[この回答](http://stackoverflow.com/questions/13818776/remove-characters-from-url-with -htaccess)はあなたにとって非常に役に立つかもしれません。 – Martin