サイト移行で私が行った中で最悪の1 時間は、ライブサイトで500 エラーを凝視して過ごしたことであり、その原因は.htaccessファイルの1 文字の迷子であった。 wordpressのリビルド用にリダイレクトのバッチを手書きし、RewriteRuleフラグを太い指で操作し、Apacheはドメイン全体へのサービスを拒否することで対応した。 リダイレクト自体は問題なかった; それらの周りの構文は問題なく、.htaccessはそのように容赦なく、その後、リダイレクトルールを手書きで書くのをやめて生成し始めた、まさにその通りだった Htaccess リダイレクト ジェネレーター on Toolz.dev does.このガイドでは、Apacheリダイレクトの仕組み、各タイプの使用時期、何も壊さずにHTTPSとwwwを正規化する方法について説明します。
tl;dr: Urlをリダイレクトする方法を.htaccess ファイルがApacheに伝えます。 permanent moveには301、temporary moveには302 を使います、
Redirect正確なパスの場合、およびRewriteRuleパターンのため。 The Htaccess リダイレクト ジェネレーター これらすべてに加えて、force-https および www ルールを、正しく順序付けされた単純なリストから、何もアップロードせずにブラウザーで完全に構築します。
htaccessリダイレクトジェネレータとは何ですか?
.htaccess リダイレクトジェネレータは、古いものから新しいものへの URL マッピングのプレーンなリストを、リダイレクトを実行する正確な Apache ディレクティブに変換します。 どのステータスコードを選択するかは、Apache の質問ではなく、プロトコルの質問です: RFC 9110 301 を永続的、302 を見つけたとおりに定義します。.htaccess ファイルは、Apache がすべてのリクエストで読み取るディレクトリごとの構成ファイルであり、共有ホスティングでは、メイン サーバー構成を編集できないため、通常はリダイレクトを宣言できる唯一の場所です。ジェネレーターは、Apache がサポートするリダイレクトの両方のフレーバー、つまり mod_alias を書き込みます Redirect 単純な 1 対 1 パスの変更と mod_rewrite のディレクティブ RewriteRule 一度に多くの URL をキャッチするパターン マッチのディレクティブ。
これらを入力するのではなく生成する理由は.htaccess構文は正確で罰的です.htaccess構文は正確で罰的です.フラグの置き忘れやパターンのエスケープされていないドットや順序が間違っていると警告は出ません; 見つけて修正するまでサイト全体をダウンさせる500 エラーを生成します.ディレクティブも特定の順序で表示する必要があり, 任意のRewriteRuleの前に書き換えエンジンをオンにし, ページレベルのルールよりも先にサイト全体のルールを実行するか, デバッグが難しい方法で不正な動作をするジェネレータがその順序と構文をエンコードするため, 微妙に間違えることはありません。
Toolz.dev では、フローは移行について実際にどのように考えているかを反映します。古いパスとその新しい宛先をそれぞれリストし、移動が永続的か一時的か、正確なパスかパターンかを選択し、オプションでほぼすべてのサイトに必要な 2 つのサイト全体のルールを切り替えます。ツールはファイル全体を正しい順序で組み立て、パスをそれ自体にリダイレクトするルールなど、疑わしいものにはフラグを立ててからサイトに貼り付けます。
301 と 302 リダイレクトの違いは何ですか?
301 は永続的なリダイレクトであり、302 は一時的なリダイレクトであり、区別が全体のポイントであるという検索エンジンへの。 301 はブラウザとクローラにページが永久に動いたことを伝え、検索エンジンは古い URL's の蓄積されたランキング シグナルをほぼすべて新しいアドレスに転送し、最終的に古い URL をインデックスから削除することで応答します。 302 は移動が一時的であることを伝えるため、元の URL をインデックスしてランク付けし、宛先を消える代役として扱います。
間違ったものを選択すると、実際の結果があります。 302 を永久的な移動に使用すると、検索エンジンは古い URL をランク付けしたままにしておくことができます。一方、新しいページは独自の権限を獲得するのに苦労します。なぜなら、信号は転送されないからです。 301 を使用すると、メンテナンスや季節限定のランディング ページのためにダウンしているページなど、真に一時的なものに適用され、状況が戻ると元のランキングを永久に失う可能性があります。経験則は簡単です。古い URL が戻ってこない場合は 301 を使用します。 302 を使用します。
重要な性質について、両者がどのように比較するかは次のとおりです:
| 財産 | 301 永久 | 302 一時的 |
|---|---|---|
| 意味 | ペイジは永久に引っ越した | ペイジは一時的に別の場所にあります |
| ランキングシグナル | 新しいURLに転送されました | 元のURLのまま |
| インデックス内の古い URL | 最終的に落とされた | 保管 |
| 通常の使用 | 再設計、移行、統合されたページ | メンテナンス、A/B テスト、季節ページ |
| ブラウザのキャッシュ | 積極的にキャッシュされました | デフォルトではキャッシュされません |
ジェネレーターでは、ルールごとにステータスを設定できるため、1 つの一時的なプロモーション リダイレクトによる永続的な移動がほとんどである移行は、2 つのファイルではなく、単一の混合リストです。 301 はブラウザーによって積極的にキャッシュされるため、最初に正しく保存する価値があります。間違った 301 は、サーバーを修正した後も長い間、visitor's ブラウザーに保持される可能性があります。
リダイレクトとリライトルールはいつ使用する必要がありますか?
を使用する Redirect 正確な 1 対 1 のパス変更に対するディレクティブと、 RewriteRule パターンに合わせる必要があるとき. Redirect 301 /old-page /new-page は、単一のページを移動するための全体のルールであり、それは読みやすく、間違って取得することは困難であり、apache& #39; s mod_alias モジュールによって処理されます。 それぞれが特定の新しい場所に移動した特定のページが一握りあるとき、のリスト Redirect 線はそれを表現する最も明確で安全な方法です。
あ RewriteRule 1 つのルールが多くのURLをキャッチする必要があるときにその複雑さを獲得します。 if every post under /blog/2023/ 年なしで同じ道に移り、a Redirect 各投稿の行は数百のルールになります; シングル RewriteRule ^blog/2023/(.*)$ /blog/$1 [R=301,L] 年が明けた後のパーツをキャプチャし、目的地で再利用することで、それらすべてを処理します。力は正規表現とキャプチャ グループから来ますが、リスクも同様です。エスケープされていない特殊文字や貪欲なパターンは、意図したよりもはるかに一致する可能性があるためです。
ジェネレータは、ルールごとに選択した一致タイプに基づいて、適切なディレクティブを選択します。正確なルールが決まります Redirect 線とパターンルールになります RewriteRule 任意のパターン ルールが存在すると、書き換えエンジンが自動的にオンになる行。また、出力内で 2 つのグループを正しい順序で保持します。パターン自体を書き始めたばかりの場合は、 正規表現テスター リダイレクトで信頼する前に、サンプル URL と比較してパターンを確認できます。これにより、キャプチャ グループが期待どおりに動作することを確認できます。
htaccessでHTTPSを強制するにはどうすればよいですか?
HTTPS を強制するには、現在のリクエストがまだ安全でないかどうかを確認する書き換え条件を追加し、その後に同じホストとパスの https バージョンにリダイレクトするルールを追加します。 標準フォームはチェックします %{HTTPS} off そして に書き換えます https://%{HTTP_HOST}/$1 301 を使用すると、すべての plain-HTTP リクエストが暗号化された同一の URL バージョンに永続的にアップグレードされます。このリダイレクトなしで http と https の両方でサイトにサービスを提供すると、検索エンジンがすべてのページの 2 つのバージョンにインデックスを付け、それらの間でランキング シグナルを分割できるようになります。
微妙さは順序付けです。 HTTPS ルールは、www の追加や削除など、ホストが書き換える前に実行する必要があるため、これらの後のルールも、http から https に訪問者を送信し、その後 2 番目のリダイレクトを介して送信するのではなく、安全なスキームに着地することになります。これを間違えると、リダイレクト チェーンが生成されます。この場合、単一のリクエストが到着する前に 2 ~ 3 ホップでバウンスするため、ユーザーにとっては時間がかかり、リダイレクトのランキング上の利点が薄れます。ジェネレーターはまさにこの理由で HTTPS ルールを最初に配置します。
ツールで強制 HTTPS をオンにすると、ページ リダイレクトや Www ルールに先立って、正しい条件とルールが出力の上部に挿入されます。 HTTPS はオプションの追加ではなくベースライン エクスペクションになり、ブラウザーは plain-http ページに安全でないフラグを立てることが増えているため、これは基本的にすべてのサイトに追加するルールです。次にカバーされる正規ホスト ルールと自然にペアになり、一緒に各ページに対して正確に 1 つのアドレスにサイトを決済します。
Www を非 Www またはその逆に変更するにはどうすればよいですか?
ホストをチェックして選択したバージョンにリダイレクトする書き換えルールで Www プレフィックスを正規化します。 www を削除するには、 で始まるホストを一致させます www.、残りをキャプチャし、ベアドメインにリダイレクト; wwwを追加するには、で始まらないホストをマッチさせます www. そして接頭辞付きバージョンにリダイレクトします いずれにしても、目標は、両方の同じコンテンツを提供するため、すべてのページが正確に1 つの正規ホストで到達可能になることです www.example.com あんど example.com これは、未解決の http/https 分割と同じようにランキング シグナルを分割する古典的な重複コンテンツ問題です。
Www に非 www またはその逆に対する SEO の利点はありません。重要なのは、1 つを選択して一貫して強制することです。大規模なサイトでは歴史的に Cookie とサブドメインに関する技術的な理由で www が使用されていましたが、現代のサイトの多くは簡潔にするために Www を削除しています。重要なことは、一度選択すると、すべてのリンク、すべての正規タグ、およびすべてのリダイレクト ポイントが同じバージョンになるため、検索エンジンはすべての権限を分割するのではなく、1 つのホストに統合することです。
ジェネレータは、変更しないままにする、wwwを強制する、またはwwwを削除する、という3 つのオプションを持つ単一のwww設定を提供します。 matching条件とルールを書き、HTTPSルールの後に配置して、2 つがチェーンではなく協力するようにします。 canonicalタグとサイトマップのホストで落ち着くホストも1 つである必要があるため、生成する価値があります サイトマップ 同じ正規ホストで、クロール ルールをマッチングで宣言します robots.txt。 3 つすべての一貫性が、正規化を実際に定着させる理由です。
これらのリダイレクトは nginx で動作しますか?
いいえ.htaccess 形式は Apache ウェブサーバとそれを意図的にエミュレートするサーバ、特に LiteSpeed に固有です。 Nginx は.htaccess ファイルをまったく読み込まない; 完全に無視するので、Nginx セットアップに Apache ディレクティブを貼り付けることは何もしません。 Nginx はリダイレクトを独自のもので処理します return あんど rewrite 内部の指令 server あんど location 異なる構文と異なる評価モデルを使用したメイン構成のブロック。
これは、間違ったサーバーに正しいルールを適用することで驚くべき数のリダイレクトの問題が発生するためです。 nginx ホスト上の.htaccess ファイルが不活性であるため、リダイレクトが何を書いても無視されているように見える場合、最初に確認すべきことは、どの Web サーバーが実際にサイトにサービスを提供しているかということです。特に管理対象の WordPress ホストは、Apache の前または代わりに Nginx を実行することがありますが、そこでは慎重に編集した.htaccess ファイルは効果がありません。
ジェネレータは、共有ホスティングの大部分と、ApacheまたはLiteSpeedを実行している任意のホストをカバーするApache構文を生成します。 nginx上にある場合、ルールのロジックは直接翻訳され、永続的なリダイレクトはまだ301 であり、正規のホストはまだ正規のホストですが、構文は、あなたのhost& #39; s設定のためのジョブであるNginx& #39; sディレクティブのために書き直される必要があります.htaccessファイルではなく、開始する前にどのサーバー上にあるかを知っている混乱を節約しました。
これを実際に使うのはいつでしょうか?
サイトの移行が主なケースです。 wordpress プロジェクトが新しい URL 構造に移行する場合でも、新しい URL 構造を置き換える新しいビルドであっても、サイトを再構築するときはいつでも、トラフィックやバックリンクがあったすべての古い URL は新しいホームに 301 を必要とするか、トラフィックと権限が 404 に蒸発します。それらのマッピングをリストし、リダイレクト ブロックを 1 回のパスで生成し、正しく順序付けされ、構文的にクリーンであることは、サイトを 1 つのタイプミスで削除できるファイルを手作業で編集するよりもはるかに安全です。パターン ルールは、グループとして移動したセクション全体を処理します。
HTTPS と正規ホストを強制することは日常的なケースです。ページ レベルのリダイレクトがないサイトでも、force-HTTPS と www ルールは、ランキング シグナルを統合し、ブラウザーが現在期待しているセキュリティ ベースラインを満たすために追加する価値があります。私は基本的にすべての新しいサイトに対してこれら 2 つのルールを生成し、起動前に貼り付けます。そのため、サイトは、重複したバージョンがすでにインデックス付けされた後にクリーンアップされるのではなく、初日から正規のサイトになります。
事実が丸めた後にクリーンアップする 古いリダイレクトが蓄積され、2 つまたは3 つのホップを介してチェーンがいくつか、その後再び移動したページにいくつかのポイントがあります ツールが提供するループとフォーマットの警告で、クリーンリストからブロック全体を再生成することは、それらのチェーンをフラット化してシングルホップに戻す良い方法です リダイレクトはオンサイトSEOの一角であり、それらはと並んで座っています メタタグジェネレータ そして、ページ上のツールキットの残りの部分;この種のユーティリティをブラウザに保持するためのより広範なケースは、私が作成したものです Web 開発者ツールキット ガイド、およびの生産性の角度 開発者の生産性向上ツール ガイド。
私のURLデータは非公開ですか?
はい。すべてのルールはブラウザ内の JavaScript で生成されます。入力した URL、ドメイン、リダイレクト マップは決して送信、ログ記録、保存されず、ページが読み込まれるとツールはネットワーク接続なしで動作し続けます。リダイレクト マップは事実上、サイト & #39; の構造とその最も価値のあるページの図であり、パスワードのあり方には秘密ではありませんが、テキスト ファイルを組み立てるためだけにパスワードが他の誰か & #39;s サーバーに流れる理由はありません。
作業はローカルで起こるので、オフラインで移行を計画し、接続のないラップトップでルールを生成し、準備ができたら、サイト& #39; のURL構造のどの部分もデバイスを離れることなく貼り付けることができます。 Toolz.dev上のすべてのツールの後ろにあるローカルファーストのアプローチは同じであり、それはツールが机の上にあるのと同じくらい平面上で使用可能であることを意味します決してデータをアップロードしないブラウザベースのツールを好むための一般的な議論は、私が設定したものです オンラインツールガイドにおけるデータプライバシー。
フェイク
301 と 302 リダイレクトの違いは何ですか?
A 301 is a permanent redirect: it tells browsers and search engines the page has moved for good and passes almost all of the old URL's ranking signals to the new one. A 302 is temporary: それは訪問者を転送するが、元のURLは、そのランキングを保持し、戻ってくるかもしれない信号を永久的な移動のために301 を使用し、変更が本当に一時的である場合にのみ302 を使用します。
htaccess ファイルはどこに置きますか?
.htaccess ファイルを Web サイトのルート ディレクトリ (通常は index.php または index.html も含むフォルダー) に配置します。 そこにあると宣言されたリダイレクトは、サイト全体に適用されます。 ファイル名はドットで始まり、拡張子はありません。ほとんどの共有ホストがデフォルトで設定するディレクトリに対して、Apache で AllowOverride を有効にする必要があります。
リダイレクトとリライトルールはいつ使用する必要がありますか?
/old-page から /new-page などの単純な 1 対 1 パスの変更には、mod_alias リダイレクト ディレクティブを使用します。 パターンを一致させる必要がある場合は、mod_rewrite rewriterule を使用します。たとえば、年を指定しない /blog/2023/ の下のすべての URL を同じパスに送信します。 このツールは、正確なルールのリダイレクトとパターン ルールのリライトルールを自動的に発行します。
htaccessでHTTPSを強制するにはどうすればよいですか?
Force HTTPS を有効にし、ジェネレーターは HTTPS がオフになっているかどうかを確認する RewriteCond を追加し、続いて 301 で同じホストとパスの https バージョンにリダイレクトする RewriteRule を追加します。このルールを他のリダイレクトの前に配置すると、余分なホップを連鎖させることなく、すべてのリクエストが最初に安全な接続にアップグレードされることが保証されます。
これらのリダイレクトは nginx で動作しますか?
いいえ.htaccess 形式は Apache Web サーバーと、LiteSpeed などそれをエミュレートするサーバーに固有です。 Nginx は.htaccess ファイルを読み取っておらず、サーバー構成で独自の書き換えおよび返却ディレクティブを使用するため、これらのルールを Nginx 構文に変換する必要があります。無視されたリダイレクトのトラブルシューティングの前に、サイトがどのサーバーで実行されているかを確認してください。
これらのリダイレクトは私の SEO に影響を与えますか?
正しく使用すると、リダイレクトは SEO を害するのではなく保護します。 301 は移動したページのランキングを維持し、HTTPS と www を正規化すると、重複したバージョンが信号を分割するのを防ぎます。 リスクはリダイレクト チェーン、ループ、または無関係なページへのリダイレクトに起因するため、各ルールを最も関連性の高い宛先に直接指し示します。
1 つのルールで一度に複数の URL をリダイレクトできますか?
はい。 rule をパターンモードに設定し、キャプチャグループを含むソースフィールドで正規表現を使用し、 $1、$2、などの指定で宛先で参照します。たとえば、/articles/$1 にリダイレクトされた ^blog/(.*)$ は、/blog/ の下のすべてのページを /articles/ の下の一致するページに単一のルールで移動します。
私のURLデータは非公開ですか?
はい。ルールは JavaScript を使用してブラウザで生成されます。入力したものはアップロード、ログ、保存されず、ページが読み込まれるとツールはインターネット接続なしで動作し続けます。リダイレクト マップにはサイトと #39; の構造が記述されており、クライアント側のツールではファイルを組み立てるためにデバイスから出ることはありません。
無料でリダイレクトを構築します Htaccess リダイレクト ジェネレーター。 Apache 301 および 302 ルール、強制 HTTPS、および www 正準化を、正しく順序付けられた単純なリストから、何もアップロードせずに完全にブラウザーに書き込みます。



