ドキュメント / .htaccess — 2 つのモードと、あなたに合うのはどちらか

.htaccess — 2 つのモードと、あなたに合うのはどちらか

.htaccess に何かを追加したのに、追加していないかのようにサイトが振る舞うなら、まずこれを 読んでください。壊れているわけではありません — おそらくサイトは、.htaccess を読むのではなく 変換するモードにあり、変換はよくあるルールをカバーしますが、すべてをカバーするわけではありません。

ドメイン → Apache / .htaccess を開いてください。カード上部のバッジが、このサイトがどちらの モードにあるかを示します。

2 つのモード

変換(Translated)(既定)。あなたの .htaccess は高速なウェブサーバー自身のルールに変換 されます。よくあるディレクティブは機能します。変換器が再現できないものはスキップされ、カードの 下の表に一覧されます。ファイルへの変更は 今すぐ変換 を押したあとにのみ反映されます — ファイルはリクエストごとには読まれません。

完全 .htaccess(Full .htaccess)。あなたのファイルは、cPanel にあったときとまったく同じに、 直接読まれます。Apache がサポートするすべてのディレクティブが機能し、変更はまさに次のリクエストで 反映されます。各リクエストが 1 つ余分なステップを通るため、変換モードよりわずかに遅くなります。

あなたに合うのはどちら

.htaccess が WordPress のパーマリンクブロック、強制 HTTPS リダイレクト、www/非 www の リダイレクト、Redirect の行、ディレクトリ一覧のスイッチ、あるいは Basic 認証の保護なら、 変換 のままにしてください。それがほとんどのサイトであり、こちらが速い方法です。

次の場合は 完全 .htaccess をオンにしてください。

  • カード下の表に、あなたが実際に必要とするディレクティブが挙がっている、
  • .htaccess から PHP の値(php_value、php_flag)を設定している — これらはファイルに何が 書かれていても変換モードでは決して適用されません、
  • SetEnv、SetEnvIf、RequestHeader、AddType、AddHandler、または変換器が警告する条件付き リライトルールを使っている、
  • あるいは他所からサイトを移していて、その .htaccess をまったく監査したくない。

完全サポートを選んでも、わずかな遅延以外にペナルティはありません。料金も、あとの追加手順も、 設定も要りません。

表の読み方

モードカードの下で、各行は変換器が再現できなかった 1 つのディレクティブで、その行番号と対処法が 示されます。

  • 変換 モードでは、ボタンの上の注記が、そのうち何個が 今この瞬間 無視されているかを 述べます。それらのルールは動いていません。
  • 完全 .htaccess モードでは、同じ一覧が現れますが、注記はそれらが機能していると述べます — 一覧は、いつか戻したときにのみ意味を持ちます。

表が空なら、.htaccess の中で失われているものは何もなく、変換モードがファイルの求めることを すべて行っています。

切り替え

ボタン 1 つです。変換モードでは 完全 .htaccess サポートをオンにする と表示され、完全モード では 変換に切り替える(より速い) と表示されます。

  • 数秒かかります。動作中はカードが 適用中 — 数秒かかることがあります… と表示します。
  • サイトは停止しません。 古い経路が撤去される前に新しい経路が設置されます。これは双方向で そうであり、どこかが失敗した場合は両側とも元のとおりに戻されます。
  • アカウントの他のものは何も変わりません。 ファイル、ドキュメントルート、PHP バージョン、 証明書、HTTPS はすべてそのままです。サイトの PHP は両モードとも、サーバー上の他のすべての アカウントから隔離されて、あなた自身のユーザーとして実行され続けます。
  • アクセスログの訪問者アドレスは、本物の訪問者アドレスのまま保たれます。
  • いつでも、好きなだけ何度でも戻せます。

cPanel から来た場合

何もする必要はありません。アカウントが cPanel のバックアップからインポートされると、 インポーターは見つけた .htaccess ファイルを変換し、いずれかのディレクティブが変換できない 場合、そのアカウントを直ちに完全 .htaccess モードにします。サイトは最初のリクエストから、 古いサーバーでの振る舞いどおりに動作します。

インポートレポートはこれを 2 行で示します。何個のルールが変換され、何個が要確認かを、続いて モードが切り替えられたかどうかを示します。

特別なものを一切必要としなかったサイトは、より速い変換の経路に留まります。

何かおかしいと感じたとき

ファイルを編集したのにルールがまだ何もしない、そして変換モードにいる。 今すぐ変換 を 押してください。このモードでは、ファイルはリクエストごとではなく、あなたが求めたときに読まれます。

完全サポートをオンにした直後にすべてのページが HTTP 500 で応答する。 戻してください — ボタンが元いた場所に戻します — そして何が起きたかをホスティングプロバイダーに伝えてください。 これは、そのサーバーの Apache に、ファイルが必要とするモジュールが欠けていることを意味します (RewriteEngine On が通常のものです)。それはサーバー側の設定であって、アカウントから直せる ものではありません。

すべてのページが 502 で応答し、完全モードにいる。 サーバー上の Apache プロセスが動いて いません。変換モードのサイトは影響を受けません。これはプロバイダーに伝えると役立つ情報です。

切り替えが Apache のポートに関するメッセージとともに拒否される。 サーバーがこのモードに 割り当てるスロットを使い切っています。増やせるのはプロバイダーだけです。

Apache / .htaccess タイルがそもそもパネルにない。 ホスティングプランに含まれていないか、 サーバーが Apache を利用できる形でセットアップされていないかのどちらかです。どちらかを プロバイダーに尋ねてください。

完全モードが変えないもの

  • 証明書。HTTPS は Apache がリクエストを見る前に終端されるので、発行と更新は影響を受けません。
  • 隔離。PHP は両モードとも、アカウント自身のユーザーとして実行されます。
  • 帯域幅の数字と訪問者統計。
  • サーバー上の他のどのアカウントも。この設定はあなただけのものです — サーバーごとではなく、 アカウントごとに決まります。