
今まで色々なhtaccessについて紹介をしましたが、毎回調べながら記述したり、毎回全部に対応していたらすごく効率が悪く時間を浪費してしまします。
今回は今までに紹介したのもがほとんどになってしまいますが、私がテンプレートとして用意しているhtaccessを紹介します。
是非色々とカスタマイズしてご使用いただけたら嬉しいです。
htaccessのまとめテンプレートはコチラ
# Directory List
Options -Indexes
# htaccess閲覧させない
<files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</files>
# エラーページリダイレクト
#ErrorDocument 404 /error/
#ErrorDocument 403 /error/
# PHPエラー非表示
#php_flag display_errors off
# 圧縮関係
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
# Mozilla4系などの古いブラウザで無効、しかしMSIEは除外
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
Header append Vary Accept-Encoding env=!dont-vary
# 画像は再圧縮しない
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
# 圧縮設定
AddType x-font/woff .woff
AddType x-font/ttf .ttf
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/js
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/opentype font/ttf font/eot font/otf
</IfModule>
# キャッシュ設定
<Files ~ "\.(html|php|jpe?g|gif|png|css|js|pdf)$">
Header add Pragma "no-cache"
Header set Cache-Control no-cache
</Files>
#RewriteEngine On
#RewriteCond %{REQUEST_URI} !(^/$)
#RewriteCond %{REQUEST_URI} !(^/pdf/)
#RewriteCond %{REQUEST_URI} !(^/css/)
#RewriteCond %{REQUEST_URI} !(^/js/)
#RewriteCond %{REQUEST_URI} !(^/image/)
#RewriteCond %{REQUEST_URI} !(^/inc/)
#RewriteCond %{REQUEST_URI} !(^/apple-touch-icon.png)
#RewriteCond %{REQUEST_URI} !(^/favicon.ico)
#RewriteCond %{REQUEST_URI} !(^/robots.txt)
#RewriteRule ^(.*)$ / [R=301,L]
# さくらインターネット初期ドメインリダイレクト設定
#RewriteCond %{HTTP_HOST} xxxxxx\.sakura\.ne\.jp
#RewriteRule ^(.*)$ https://www.xxxxxx.com/$1 [R=301,L]
# httpsリダイレクト設定
#RewriteCond %{HTTPS} off
#RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# 301リダイレクト (左のディレクトリから右のURLへ)
#RewriteBase /
#RewriteRule ^xxxx/(.*)$ https://www.xxxx.com/xxxx/$1 [R=301,L]
# php統一 (html,shtmlからリダイレクト)
#RewriteRule ^([^/]*)\.html$ /$1.php [R=301,L]
#RewriteRule ^([^/]*)\.shtml$ /$1.php [R=301,L]
#ベーシック認証制作時に使用
#AuthType Basic
#AuthName "Input your ID and Password."
#AuthUserFile /home/xxxx/www/.htpasswd
#require valid-user
圧縮とキャッシュ関係を除くと基本全てコメントアウトをしています。
使用したいものがあったら#を外すといった形で普段からよく使うものは常に記載するようにして、サイトの制作が始まった段階ですぐにアップロードしてしまいます。
その際にベーシック認証のみ#を外して有効化する、などと言った形です。
過去記事で紹介しているけど、記述されていない内容
過去に紹介をしているけど、今回のコードには入っていない内容などもあります。
主に以下の2件などです。
https://t3l.org/web/maintenance-503/
https://t3l.org/web/conf-page-basic/
こちらは常に使用というよりは状況によって使用することが多いので、ごちゃごちゃ書き込むより、他のテンプレートのファイルとして保存しておいた方が使い勝手がいいと考えて、今回は記載していません。
各コードの解説について
ほとんどの内容がそれぞれの記事にて解説していますので、細かく知りたいという方は是非htaccessタグの記事検索一覧をご覧ください。
今後もネタを仕入れ次第、新しい記事を増やしていければと思います。
まとめ
社内の制作への情報共有や外注さん技術共有などの為にもデータをまとめておくととても便利な面もあります。
時々知識や技術をあげるのがもったいのではないかと言われることもあるのですが、同じ技術を使える人が増えた方が最終的に自分の効率アップにつながると私は考えています。
また、自分自身だけで使うにしてもサイト制作が始まった段階で取り急ぎ挿入してい待っておけば、後から対応しなくてはならないという事もなく、自分が対応できない時でも、「〇〇行目の#を外しておいて」と言っただけで対応してもらえるのでとても便利です。
是非ご自身の環境に合わせたカスタマイズをしてより効率よくしてご使用いただけたら嬉しいです。