をリダイレクト私はスタックオーバーフローで、このために見えたが、関連するすべての答えを見つけることができません:htaccessファイル、URLの書き換えと301
私はこれとのhtaccessファイルを持っている:それは正常に動作します
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.mywebsite.com/$1 [L,R,NE]
RewriteRule ^home$ /index.php [L]
RewriteRule ^home$ /index.php?content=home [L]
RewriteRule ^accueil$ /index.php?content=home&lang=fr [L]
RewriteRule ^home$ /index.php?content=home&lang=en [L]
RewriteRule ^acceuil-message-1$ /index.php?content=home&val=1&lang=fr [L]
RewriteRule ^home-notice-1$ /index.php?content=home&val=1&lang=en [L]
RewriteRule ^acceuil-message-2$ /index.php?content=home&val=2&lang=fr [L]
RewriteRule ^home-notice-2$ /index.php?content=home&val=2&lang=en [L]
RewriteRule ^news-a-la-une$ /index.php?content=news&mode=featured&lang=fr [L]
RewriteRule ^featured-news$ /index.php?content=news&mode=featured&lang=en [L]
RewriteRule ^news-recentes-([0-9]+)$ /index.php?content=news&mode=list&page=$1&lang=fr [L]
RewriteRule ^latest-news-([0-9]+)$ /index.php?content=news&mode=list&page=$1&lang=en [L]
...
を。
しかし、私は301リダイレクトを設定する必要があります。 私はすべての[L]を[R = 301、L]に変更しました。
しかし、そうすると、私のURLは以前のブラウザのように戻ります。
私はリダイレクトが2回適用されていると推測します。これは古いURLが表示されている間にエラーメッセージが表示されない理由を説明しますが、どこに[R = 301、L ]そしてそれを効かせるためにはないところで。
ありがとうございました。
リダイレクトとリライトを混在させようとしています。 URLを書き換えただけでは、 '301'は必要ありません。 「長い」URLは表示されません。 '301'はあなたが別の場所にページを移動すると便利ですが、私はあなたがここで何をしようとしているとは思わないのです。 – sonique
ありがとうございますsonique。実際にはURLの書き換えが必要ですが、Googleの検索でWebサイトの以前のURLを指さないようにリダイレクトする必要があります。 301のリダイレクトがこれを行う方法だと私はほとんどどこでも読んでいます。だから、このファイルを私が必要とするものにするために私は何をすべきですか?ありがとう。 –
これまでのURLは何ですか? 'index.php?.... 'のあるもの – sonique