.htaccessについてマニュアル・ガイド

mod_rewriteの設定や転送設定などに使用します。記述を間違えると、WEBサイトが正常に閲覧できることができなくなることがありますので、十分に注意をして扱ってください。

mod_rewirte

mod_rewriteはApacheモジュールの一つで、アクセスURLを正規表現で書き換えることができます。mod_rewriteを利用しないと、各ページのURLは以下になります。

  • https://www.s-contigo.website/index.php/view/5
  • http://www.s-contigo.website/index.php/login

mod_rewriteを利用すると以下になります。

  • https://www.s-contigo.website/view/5
  • http://www.s-contigo.website/login

このようなURLでアクセスできるようになります。mod_rewriteが利用できるサーバーであることが必須条件です。mod_rewrite未対応のサーバーではこの機能は利用できません。通常弊社が使用しているサーバーでは問題なく利用できます。

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.s-contigo.website/$1 [R=301,L,NE]

RewriteCond %{HTTP_HOST} ^s-contigo.website
RewriteRule ^(.*)$ https://www.s-contigo.website/$1 [R=301,L,NE]

RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php/?(.*)$ https://www.s-contigo.website/$1$2 [R=301,L,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1 [L]
</IfModule>
/* /config.phpのファイルを以下の通り変更 */
define('FREO_REWRITE_MODE', false);
↓
define('FREO_REWRITE_MODE', true);

転送設定

301リダイレクトは以下のように記述してください。ページURLを引っ越した際や永久的な転送時の記載方法です。

Redirect 301 /inquiry https://www.s-contigo.website/form/inquiry

WAF対策

Web Application Firewallがオンになっていると、CMS更新時に403エラーなどが出ることがあります。その際に、.htaccessにWAF除外記述を追加することで回避することができますが、永久的にその記述を残しておくことはセキュリティー的にも安全ではありません。そのことを十分に理解をして、解除設定をするか、一時的にサーバー管理画面からWAFを解除してください。

SiteGuard_User_ExcludeSig xss-tag-1
SiteGuard_User_ExcludeSig xss-tag-8
SiteGuard_User_ExcludeSig xss-try-11

PHPエラーログ出力

PHP7モジュール版を使用している場合、hetemlサーバーでは、以下の記述を.htaccessすることで、エラーログが出力されます。

//xx の部分は適宜書き換え
php_value error_log "/home/users/xx/xxxxxxx/php_erorr.log"

詳しくは、hetemlのサポートページをご確認ください。