.htaccessの書き方、.htaccessでできること

.htaccessの書き方、.htaccessでできること

.htaccessとは

.htaccessとはサーバーの動作を、ディレクトリ単位で制御するためのものです。

.htaccessでできること

・リダイレクト
・BASIC認証
・IP制限
など

.htaccessの書き方

wwwありに統一

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC]
RewriteRule ^(.*) https://www.example.com/$1 [R=301,L]

index.htmlなしに統一

RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ https://example.com/$1 [R=301,L]

httpsに統一

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

エラーページをリダイレクト

ErrorDocument 400 /400.html
ErrorDocument 401 /401.html
ErrorDocument 403 /403.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 502 /502.html
ErrorDocument 504 /504.html
絶対パスでもOK
ErrorDocument 404 http://sample.com

リダイレクト301(恒久的)

ページ単位のリダイレクト
RewriteEngine on
RewriteRule ^old.html$ http://www.example.com/new.html [R=301,L]

ディレクトリ単位のリダイレクト
RewriteEngine on
RewriteRule ^old_directory(.*)$ /new_directory$1 [R=301,L]

リダイレクト先にパラメータを受け渡す

QSAをつける
RewriteEngine on
RewriteRule ^example.html$ https://www.example.com/index.html [R=301,QSA,L]

正規表現で複数パラメータを取ることも可能
RewriteCond %{QUERY_STRING} param1=([a-z]+)&param2=([a-z]+)&param3=([a-z]+)$ 

キャッシュさせない

<Files ~ "\.(html|php|jpe?g|gif|png|css|js|pdf)$">
Header add Pragma "no-cache"
Header set Cache-Control no-cache
</Files>

テキスト圧縮の有効化

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font-woff
AddOutputFilterByType DEFLATE application/x-font-opentype
</IfModule>

他にもあるよ。関連記事

人気記事

人気記事

最新記事

ブログカテゴリー

タグ

プロフィール

プロフィール画像

猫田 ねこ

パチンコ店勤務からweb制作会社へ転職という異色の経歴。漫画大好き。アニメ大好き。パチンコ大好きな、ねこです。

利用規約  お問い合わせ

ページトップへ