ディレクトリレベルの設定ファイルである.htaccessファイルは、Apacheウェブサーバーでサポートされています。これにより、グローバルなサーバー設定に影響を与えることなく、特定のアカウントに対してウェブサーバーの設定(機能の有効化や無効化など)を変更できます。
このファイルは、設置されたディレクトリ全体およびその中のすべてのファイルやサブディレクトリに設定を適用します。.htaccessファイルで行った変更は即座に反映され、サーバーの再起動は不要です。
.htaccessファイルを見つけるには:.htaccessファイル:
1. Spaceshipアカウントにログインし、Hosting Manager(Launchpad内)を選択し、管理(ホスティングプランの横)をクリックし、ファイルとストレージを選択し、ファイル管理(ウェブサイト名の近く)を選択します。
2. ドメインのルートフォルダにリダイレクトされます。
3. ドメインの.htaccessファイルを編集する必要がある場合は、ドメインのルートフォルダで.htaccessファイルを見つけて右クリックし、編集オプションを選択します:

注意:「隠しファイル(ドットファイル)を表示」が設定メニューで有効になっていることを確認してください:

4. ファイルマネージャーに.htaccessファイルがない場合は、+ ファイルボタンで新規作成できます:

5. 独自の設定ルールを追加して保存する準備ができました。
この方法では、IPアドレスやドメインに基づいてユーザーをブロックできます。不要な訪問者のアクセス制限や、管理エリアなど特定のウェブサイトセクションへのアクセスを所有者のみに制限する場合に特に有効です。
特定のブロックルールを実装するには、次の内容で.htaccessファイルを作成してください:
(他のすべてのユーザーのアクセスを許可し、X.X.X.XのIPアドレスを持つユーザーをブロックする場合)
<RequireAll>
Require all granted
Require not ip X.X.X.X
</RequireAll>
(特定のX.X.X.XおよびY.Y.Y.YのIP以外のすべての訪問者をブロックする場合)
<RequireAll>
Require all denied
Require ip X.X.X.X
Require ip Y.Y.Y.Y
</RequireAll>
注意:新しいRequireディレクティブと一緒に、非推奨のAllow、Deny、およびOrderディレクティブは使用しないでください。
Mod_Rewriteは、ウェブページやURLが訪問者にどのように表示されるかを定義します。
デフォルトでは、Mod_RewriteはURLを対応するファイルシステムパスにマッピングしますが、別のURLへのリダイレクトも可能です。
リダイレクトを設定する前に、ニーズに最適なリダイレクトの種類を選択することが重要です:
恒久的リダイレクト(301):このリダイレクトは301ステータスコードを送信し、ページが恒久的に移動したことを示します。ブラウザにキャッシュされ、検索エンジンやユーザーエージェントにデータベース内のURLを更新するよう通知します。最も一般的なリダイレクトの種類です。
一時的リダイレクト(302):このリダイレクトは302ステータスコードを送信し、移動が一時的であることを示します。ブラウザはこのリダイレクトをキャッシュせず、訪問者や検索エンジンをリダイレクトしますが、元のページは引き続きインデックスされます。将来的にURLが変更されないことが確実でない限り、このタイプのリダイレクトが推奨されます。
以下は、.htaccessファイルで設定できる、最も一般的かつ便利なリダイレクトの一部です:
恒久的リダイレクト元: example1.com → example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com/$1" [R=301,L]
一時的リダイレクト元: exampledomain1.com → exampledomain2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^(.*)$ "http\:\/\/example2\.com\/" [R=302,L]
注意:以下は恒久的リダイレクトの例です。一時的リダイレクトは、コード末尾の[R=301,L]を[R=302,L]に置き換えることで定義できます(必要に応じて)。
リダイレクト元: example1.com/subfolder → example2.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example1\.com$
RewriteRule ^subfolder/$ "http\:\/\/example2\.com\/" [R=301,L]
HTTPからHTTPSへのリダイレクト(例:example.com)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R,L]
または
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.example\.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [R,L]
非WWWからWWWへのリダイレクト
任意のドメインに対して .htaccess が有効になります:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
指定したドメインに対して:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
WWWから非WWWへのリダイレクト
任意のドメインに対して .htaccess が有効になります:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
指定したドメインに対して:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]
example.comのすべてのページを対応するdomain.comのページにリダイレクト
RedirectMatch 301 ^/(.*)$ http://domain.com/$1
注意:すべてのページ名が両方のドメインで一致している必要があります。一致しない場合、リダイレクトは「ページが見つかりません」メッセージになります。
1ページを新しいURLにリダイレクト
Redirect 301 /old_page.html http://www.domain.com/new_page.html
注意:この手法は、削除されたページを404エラーにリダイレクトしたり、コンテンツ参照を更新した後のSEO調整に役立ちます。
このタイプのルールは、ディレクトリやサブディレクトリに対するセキュリティ制限を定義します。ディレクトリにパスワード保護を設定することで、アクセスしようとする訪問者にユーザー名とパスワードの入力を求めることができます。
この保護を設定するには:
1. 保護したいディレクトリを/home/cpanel_user/.htpasswds/フォルダ内に作成します(例:domain.com/testの場合、パスは.htpasswds/domain.com/test/です)。
2. このディレクトリ内にpasswdファイルを作成し、オンラインジェネレーターを使ってハッシュ化した認証情報を追加します。
3. 次のディレクティブを.htaccessファイルに追加します:
AuthType Basic
AuthName "Directory Name"
AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"
require valid-user
この機能を使うと、ウェブサイト用のカスタマイズされたエラーページを作成できます。URLが壊れている場合などに、ウェブサイトのテーマに合わせたエラーメッセージを訪問者に表示できるため便利です。これにより、デフォルトの「404 File Not Found」エラーの代わりに、ユーザーがウェブサイトのコンテンツに戻れるよう案内するカスタムデザインのエラーページを返し、混乱を防ぎます。
カスタムエラーページを設定するには、次のテキストを.htaccessファイルに追加します:
ErrorDocument 404 /404.html
この行は、404(ファイルが見つからない)エラーが発生した際に、Apacheウェブサーバーがドメインのルートディレクトリにある404.htmlファイルを読み込むよう指示します。
注意:他のエラー(403や500など)用のカスタムエラーページを作成するには、404を該当するエラーコードに、/404.htmlをカスタムエラーファイルのパスに置き換えてください。
既存のルールを一時的に無効化したい場合(テスト目的など)、簡単にコメントアウトできます。その行の先頭にシャープ記号(#)を追加してください。
別の方法として、1行または複数行を選択し、Ctrl + /ショートカットを使用して無効化できます。