.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 は両モードとも、アカウント自身のユーザーとして実行されます。
- 帯域幅の数字と訪問者統計。
- サーバー上の他のどのアカウントも。この設定はあなただけのものです — サーバーごとではなく、 アカウントごとに決まります。