https://webcode-lab.com/attic/

Coding Rules・SEO施策 チェックサイト

  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
  • keyvisualimage
HOME > Common Rules > Htaccessの設定

Htaccessの設定


root直下に置く、「Htaccess」の基本的なルールです。
「Htaccess」の記述は、間違うと全くサイトにアクセスできなくなったり、重大なエラーを引き起こす可能性があります。
また、SEO評価やページスピードと直結する重要な設定要素です。
下記は、SEO評価アップ、ページスピードアップのための重要なルールになっています。
※下記は、エックスサーバーでの設定です。

「CODE」ボタンをクリックすると参考コードを参照できます。


Htaccessの設定


※下記はPHPのVer.5.5での設定参考です。(Verが変われば「path設定とPHP使用とバージョン」の記述方法が変わる場合があります。)




<.htaccess>webcodelab/○○○.com/xserver_php/
AddHandler x-httpd-php5.5 .php .phps
AddHandler x-httpd-php5.5 .php .phps .html

FCGIWrapper "/home/webcodelab/○○○.com/xserver_php/php-cgi -c /home/webcodelab/○○○.com/xserver_php/php.ini" .php
FCGIWrapper "/home/webcodelab/○○○.com/xserver_php/php-cgi -c /home/webcodelab/○○○.com/xserver_php/php.ini" .phps

RewriteEngine On

#www/indexなしのURLに統一
RewriteCond %{HTTP_HOST} ^www.○○○.com
RewriteRule ^(.*) http://○○○.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]

#ModPagespeed On
#ブラウザキャッシュ使用設定
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 10 days"
ExpiresByType image/jpeg "access plus 10 days"
ExpiresByType image/jpg "access plus 10 days"
ExpiresByType image/png "access plus 10 days"
ExpiresByType text/css "access plus 15 days"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType text/js "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/x-font-woff2 "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
</ifModule>

#gzipローカルファイル採用
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_FILENAME}¥.gz -s
RewriteRule .+ %{REQUEST_URI}.gz
<FilesMatch "\.css\.gz$">
ForceType text/css
AddEncoding x-gzip .gz
</FilesMatch>
<FilesMatch "\.js\.gz$">
ForceType application/x-javascript
AddEncoding x-gzip .gz
</FilesMatch>

#圧縮gzip変換設定
<IfModule mod_mime.c>
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf ttc
AddType font/opentype .otf
AddType application/x-font-woff .woff
AddType application/x-font-woff2 .woff2
AddType image/svg+xml .svg .svgz 
AddEncoding gzip .svgz
</Ifmodule>

<ifModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype font/eot font/truetype application/font-woff application/font-woff2
</ifModule>

path設定とPHP使用とバージョン(3行)
path設定、htmlファイルでもphpコードが使えるようにするPHP使用設定、PHPバージョンを指定
suPHP_ConfigPath… (path設定をしている)
AddHandler…2行 (PHP使用・バージョン設定をしている、ここでは参考としてphpバージョン5.5を使用)
※デフォルトで入っている場合が多いので、下記を確認
各サーバー名に変更要1箇所
各クライアントドメインに変更要1箇所


PHP高速化(2行)
FCGIWrapper…
各サーバー名に変更要4箇所
各クライアントドメインに変更要4箇所


RewriteEngine On
Rewriteを行うためのエンジン起動


重複ページ最適化(4行)
wwwなし・indexなしのURLに統一して、重複ページを最適化
各クライアントドメインに変更要2箇所
※ただし、www付きドメイン指定があった場合、二行変更
TAG
ドメインにwww付き指定の、特別な場合
RewriteCond %{HTTP_HOST} ^www.○○○.com
RewriteRule ^(.*) http://○○○.com/$1 [R=301,L]
↓ この上記2行を下記のように変更 ↓
RewriteCond %{HTTP_HOST} ^○○○.com
RewriteRule ^(.*) http://www.○○○.com/$1 [R=301,L]


ブラウザキャッシュ利用(22行)
ユーザーのブラウザキャッシュを利用して軽量化(※納品直前に設定
 納品直前設定の理由→キャッシュされてしまうと、画像等更新しても反映されないため、納品直前に設定


gzipローカルファイル採用(11行)
ローカルサーバーに「gzipファイル」があれば採用させる
※次項のサーバーgzip圧縮変換設定より前に記述
 前に記述の理由→ 次項サーバー側での圧縮変換を回避することで、少しでもサーバー負荷を軽減
この機能を有効に使うには、内容を編集することがないファイル(例:Jquery)をgzip化しておくといい
※圧縮ソフトを使う(例) 7zip


サーバーgzip圧縮変換設定(18行)
サーバー側で自動的にファイルをgzip圧縮して転送する(※画像は既に圧縮型式なので省く)
※gzipローカルファイル採用より後に記述


サーバー名要確認5箇所 / クライアントドメイン名要確認 計7箇所

ページの先頭へ


次回までにお願いする課題

  • 課題1. 知っているHTML5のマーキング情報を、みなさんへ共有しましょう。
  • 課題2. 共有CSS・共有JSを構築しましょう。提案をお待ちしています。
  • 課題3. 今後サイトコーディングで必要になるプラグインを教えてください。
  • 課題4. 分からないことなどあれば聞いてください。
12/04勉強会