(このコンテキストでは) 2 種類のリダイレクトがあります。ブラウザ、検索エンジンのインデックス作成ボットなど、クライアントが URI を要求すると、サーバーはクライアントに「探しているものは存在するが、それは別の場所にある」と伝えることができます。302または一時的なリダイレクトの場合、基本的にクライアントに「探しているものは存在しますが、一時的にこのURL にある」ことを伝えています。301または永続的なリダイレクトの場合、基本的にクライアントに「探しているものは存在しますが、永続的にこのURL に移動しました」と伝えています。
後者の場合、ブラウザー、プロキシ サーバー、および検索エンジンのインデックスは、古い URL が有効でなくなったことを認識して使用を停止し、今後は 301 リダイレクトを介してサーバーから返された新しい URL を使用します。 . Google のような検索エンジンの場合、古い URL のインデックスと、それに関連付けられた URL の存続期間中に蓄積されたすべてのデータがあります。ボットの 1 つが 301 を確認すると、古い URL とそのコンテンツがなくなったわけではなく、別の URL に完全に移動しただけであることがわかります。古い URL について Google が収集した関連データはすべて、新しい URL に転送されます。おそらく、Google は 301 リダイレクトなしでこのようなことのほとんどを把握できますが、これは Google が正しいことを確認するための確実な方法です。
mod_rewrite を介してこのようなリダイレクトを行うことができます。
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /tutorials\.php\?name=([^&\ ]+)
RewriteRule ^ /tutorials/programming/%1.php [L,R=301]
これは、ドキュメント ルートの htaccess ファイルの先頭付近に配置する必要があります。/tutorials.php
この条件は、クエリ文字列を使用して実際のリクエストが行われたことを確認しますname="something"
。「何か」の部分は一致によってグループ化され、後方参照を介してアクセスされ%1
ます。