メインコンテンツに移動

操作マニュアル

operation manual

.htaccess の設定方法

CPI サーバーで .htaccess をご利用いただくには、設定を適用させたいディレクトリ上に .htaccess ファイルを設置いただければ、即時設定が反映されます。
※ただし、「html」配下のディレクトリが対象であることが必須です。

なお、.htaccess の記述内容によっては、ウェブコンテンツにアクセスできなくなったり、サーバーに負荷をかけるような状態に陥ってしまう場合があります。
そのため、作業につきましてはお客さまの自己責任の下、記述内容や設定内容に十分ご注意ください。


また、.htaccess の作成や設置に関しましては、お客さまのコンテンツにも依存することがあるため、技術サポートの対象外となっております。
ここに記載している内容は、一般的な設定内容となりますことご注意ください。

.htaccess をご利用いただくお客さまへ

■シンボリックリンクをご利用の際は、以下の記述にてご利用ください。
  Options +SymLinksIfOwnerMatch
  RewriteEngine on

■.htaccess の各行の途中に「#」でコメントアウトするとエラーになります。
 コメントアウトされる場合は、行を分けて記述してください。

PHP を利用する

ウェブサーバーで PHP をご利用いただくにあたり、PHP のバージョンが標準のもので良いかどうかで利用方法が異なります。
こちらについての詳細は PHP のご利用方法をご参照ください。

php.ini の設定を下位ディレクトリ全体に反映する

php.ini の設定を下位ディレクトリ全体に反映

suPHP_ConfigPath /usr/home/********/example/

※「********」部分はウェブコントロールパネル ID に置き換えてください。
※「example」部分は反映させたいディレクトリ名に置き換えてください。
※記述いただく Path(上記例の場合は /example)配下には、反映させたい php.ini を設置してください。

PHP を .html や .htm などの拡張子ファイルとして実行する

PHP7.1 を .htmlや.htm などの拡張子ファイルとして実行する場合

AddHandler x-httpd-php71 .php .html .htm

ご契約サーバーでご利用いただける PHP のバージョンにつきましては、PHP バージョン一覧をご参照ください。
 

シンボリックリンクを有効化する場合
mod_rewrite を利用する場合

以下の 2 行の記述が必要となります。
なお、シンボリックリンクのリンク元ファイルとリンク先ファイルが、お客さま領域(同一のウェブコントロールパネル ID)内にあることが条件となります。

Options +SymLinksIfOwnerMatch
RewriteEngine On

※上記のように必ず「+」記号をつけてください。
 

リダイレクト(転送)設定する

サーバーでリダイレクトを有効化するには、以下の 2 行の記述が必要となります。

Options +SymLinksIfOwnerMatch
RewriteEngine On

※上記のように必ず「+」記号をつけてください。
 

例1:www なしで接続があった場合に www ありの URL にリダイレクトする

Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.jp
RewriteRule (.*) http://www.example.jp/$1 [R=301,L]

※URL に続く数字は、下記の意味があります。運用に応じてステータスコードを変更してください。
  301 リダイレクト:恒久的なリダイレクト
  302 リダイレクト:一時的なリダイレクト

例 2:ホームページに対して http(通常の 80 番ポート)で接続があった場合に、強制的に https(SSLの 443 番ポート)での接続に変更する

Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://www.example.jp/$1 [L,R]

※ https の接続には  SSL サーバー証明書のお申し込みが必要です。
 上記例は、コモンネームを[www.example.jp]とした SSL サーバー証明書を取得していることを前提とした説明です。

例 3:特定のディレクトリ(例:aaa)に対するアクセスを、別のディレクトリ(例:bbb)にリダイレクトする

Options +SymLinksIfOwnerMatch
RewriteEngine On
Redirect permanent /aaa/ http://www.example.jp/bbb/

例 4:転送元に対するアクセスを、すべて転送先のトップページにリダイレクトする

Options +SymLinksIfOwnerMatch
RewriteEngine On
RedirectMatch 301 .* http://www.example.jp/

例 5:携帯電話の振り分け設定

Options +SymLinksIfOwnerMatch
RewriteEngine On

# docomo
RewriteCond %{HTTP_USER_AGENT} DoCoMo
RewriteRule ^$ http://example.jp/i/index.html [R]

# SoftBank
RewriteCond %{HTTP_USER_AGENT} SoftBank
RewriteRule ^$ http://example.jp/s/index.html [R]

# au
RewriteCond %{HTTP_USER_AGENT} UP.Browser
RewriteRule ^$ http://example.jp/au/index.html [R]

# Android
RewriteCond %{HTTP_USER_AGENT} Android
RewriteRule ^$ http://example.jp/android/index.html [R]

# iPhone
RewriteCond %{HTTP_USER_AGENT} iPhone
RewriteRule ^$ http://example.jp/iphone/index.html [R]

# iPad
RewriteCond %{HTTP_USER_AGENT} iPad
RewriteRule ^$ http://example.jp/ipad/index.html [R]

※.htaccess では、各モバイル機器ごとの振り分けルールのみ設定します。
 振り分け先のコンテンツは別途ご用意ください。
 

表示順序の変更

index から始まるファイルについて、サーバーでの優先順位(読み込み順)は、以下の通りです。(上から優先順位の高い順)

 1. index.html
 2. index.shtml
 3. index.cgi
 4. index.hdml
 5. index.htm
 6. index.php
 

例:index ファイルの読み込み順を変更する

※DirectoryIndex の後に、表示させる順で記述してください。
 以下の設定例の場合、 index.html よりも先に index.cgi を探して表示します。

index ファイルの読み込み順の変更

DirectoryIndex index.cgi index.html

 

エラーページの表示設定

エラーページは独自のページを用意することができます。

例:独自のエラーページを作成して、エラー時に表示する

エラーコード 401:Authorization Required(認証失敗) 

ErrorDocument 401 /error/401.html

※ローカル URL(=自サイト内の絶対パスで表現されるもの)である必要があります。
または

ErrorDocument 401 '<html><head><meta http-equiv="Refresh" content="0;url=http://example.jp/error/401.html"></head></html>'

エラーコード 403:Forbidden(閲覧権限が無い)

ErrorDocument 403 http://example.jp/error/403.html

エラーコード 404:Not Found(ページが見つかりません)

ErrorDocument 404 http://example.jp/error/404.html

エラーコード 500:Internal Server Error(サーバ内部エラー)

ErrorDocument 500 http://example.jp/error/500.html

※URL は表示させたいエラーページのアドレスに置き換えてください。
※アクセス集中を表す 503 エラー(Service Temporarily Unavailable)につきましては、サーバー側で制御しているため、お客さまにて変更いただけません。ご了承ください。

 

アクセスを制御(拒否/許可)する

HP へのアクセスを制御する場合は、 1 行目に優先順位を指定する必要があります。
通常、以下のように設定します。
 一部のアクセス元のみを拒否する場合 → 許可を優先
 一部のアクセス元のみを許可する場合 → 拒否を優先

例1:IP アドレス(192.0.2.1)からの接続のみを許可する

order deny,allow
deny from all
allow from 192.0.2.1

※IP アドレス(192.0.2.1)は、設定したい IP アドレスに置き換えてください。
 

例 2:IP アドレス(192.0.2.1)からの接続以外を許可する

order allow,deny
allow from all
deny from 192.0.2.1

※IP アドレス(192.0.2.1)は、設定したい IP アドレスに置き換えてください。

 

SSIを「.shtml」以外の拡張子で使用する

.htaccess ファイルに以下の記述をしてください。
なお、拡張子が「.shtml」の場合は、.htaccess ファイルに記述する必要はありません。

<FilesMatch \.html$>
  SetHandler server-parsed
</FilesMatch>

 

MIME タイプを定義する

サーバーにアップロードしたファイルの扱い方を定義します。

例 1:PHP 以外の拡張子を PHP として処理する

.htm や .html ファイルを拡張子のままではなく php7.1 として処理

AddHandler x-httpd-php71 .htm .html

※AddType による設定はご利用いただけません。
※ご契約サーバーでご利用いただける PHP のバージョンにつきましては、 PHP のご利用についてをご参照ください。

 

例 2:サーバーでデフォルト MIME タイプとして定義されていない MIME タイプを追加する

pdf ファイルと jpeg ファイルを MIME タイプとして定義

AddType application/pdf .pdf
AddType image/jpeg .jpeg

※上記は設定例です。
 実際には、定義する必要がない場合や、定義してもサーバーの仕様上ご利用いただけない MIME タイプもあります。
 こちらにつきましては、CPI から設定ファイルの詳細などは案内していないため、お客さま側で実際にお試しいただくようお願いしております。

 

mod_deflate モジュールの利用方法

mod_deflate とは、サーバー側でコンテンツを圧縮してからクライアント側に送信する機能で、
転送量を軽減し表示速度の高速化が期待できます。 

.htaccess ファイルに記述しなくても圧縮される MIME タイプ

以下の MIME タイプについては、ウェブサーバー側で自動的に mod_deflate により圧縮されます

  • text/html
  • text/plain
  • text/css
  • text/javascript
  • application/x-javascript
  • application/javascript
  • application/ecmascript
     

上記以外の MIME タイプ

.htaccess ファイルに記述することでウェブサーバー側で mod_deflate により圧縮されます。

<書式>

<IfModule deflate_module>
AddOutputFilterByType DEFLATE (mod_deflate を有効にしたい MIME タイプ)
</IfModule>

<記述例 (MIME タイプ「text/xml」を圧縮させたい場合)>

<IfModule deflate_module>
AddOutputFilterByType DEFLATE text/xml
</IfModule>

特定の拡張子を圧縮させない方法

例として、拡張子が「.php」のファイルを圧縮させない方法を記載します。

<FilesMatch \.php$>
SetEnv no-gzip
</FilesMatch>

更新日 / 2019 年 9 月 5 日

【関連リンク】

SV-Basic

お問い合わせ

サポートセンターにお問い合わせいただける窓口をご案内します。

お問い合わせ窓口