.htaccess:存在しないURLを404ページにリダイレクトする

WEBサイトで存在しないページにアクセスすると英語の画面が表示される場合があります。

404_not_found

これは、存在しないページにアクセスした時に表示されるエラーページ(404ページ)です。
リンク切れをしていたり、URLを間違えて入力した場合などに表示されます。

上記のような英語の画面だとユーザが何のページかわからず、戸惑ってしまう可能性があります。
また、サイトから離脱してしまう可能性も出てきます。

なので、独自の404ページを用意し、ページが存在しないことをユーザに伝えることが非常に大切だと思います。

下記に.htaccessを使用し、存在しないページにアクセスした際に独自の404ページリダイレクトする方法をメモします。


.htaccessで404ページにリダイレクト

まず独自のカスタム404ページを作成します。

404.html

.htaccessに下記のコードを記述します。

ErrorDocument 404 /404.html

作成した「404.html」と「.htaccess」をドキュメントルートに設置します。

存在しないURLでアクセスし、作成したカスタム404ページが表示されればOKです。


WordPressの404ページ

WordPressで404ページを作成する場合は使用しているテーマのディレクトリに「404.php」を設置します。
.htaccessに404リダイレクトの処理を記述しなくて大丈夫です。

存在しないページにアクセスすると「404.php」の内容が表示されます。


色々なWEBサイトを見ていると404ページが設置されていないサイトが多くあると思います。
レンタルサーバだとそのサーバの404ページが表示されます。

404ページを作成することで、ページが存在しないことのメッセージをユーザに伝えることができます。
404ページにサイト内検索やTOPページへのリンク、サイトマップなどを記述することでユーザビリティの向上につながります。
また、SEO的にも有効だと思います。

ショップサイトなどでは、商品が売り切れになってページがなくなることがあると思うので、
新着商品やおすすめ商品などの紹介をするのもいいかもしれません。

ぜひチェックしてみてください。

jQuery:画像の拡大(ズーム)表示ができるプラグイン「elevatezoom.js」

画像をマウスオーバーした時に、画像の一部をズームして拡大表示することができる
jQueryプラグインelevatezoom.js」をご紹介します。

elevatezoom.js

jquery_elevatezoom

マウスオーバーした時に画像を拡大させて見せることができるので、
ショップなどの商品画像を見せる際などに利用できると思います。

下記にjQueryプラグインelevatezoom.js」を使用して、画像の一部をズームさせて拡大表示したときの方法をメモします。


「elevatezoom.js」の設置方法

下記URLより、ダウンロードします。

http://www.elevateweb.co.uk/image-zoom

ダウンロードした「jquery.elevatezoom.js」を読み込みます。

共通で読み込むファイル

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" type="text/javascript"></script>
<script src="jquery.elevatezoom.js" type="text/javascript"></script>

JS

<script type="text/javascript">
$(function() {
    $("#zoom").elevateZoom();
});
</script>

HTML

<img id="zoom" src="small_image.jpg" data-zoom-image="large_image.jpg" />

ページに表示する画像と拡大した時の画像の二つを用意するか、
ページに表示する画像のサイズを小さくして表示させます。

「src=””」に表示される画像を設置し、「data-zoom-image=””」に
拡大した時の画像を設置します。

 

サンプルページ:【jQuery】画像のズーム機能「elevatezoom.js」

 


また、オプションで表示の仕方などを変更することが可能です。

・画像の中でズームさせる場合

$("#zoom").elevateZoom({
	zoomType : "inner",
	cursor: "crosshair"
});

・虫眼鏡のレンズのように表示させる場合

$("#zoom").elevateZoom({
	zoomType : "lens",
	lensShape : "round",
	lensSize : 200
});

・フェードイン、フェードアウトさせる場合

$("#zoom").elevateZoom({
	zoomWindowFadeIn: 800,
	zoomWindowFadeOut: 800,
	lensFadeIn: 800,
	lensFadeOut: 800
});

・マウスホイールでズームの大きさを変更する場合

$("#zoom").elevateZoom({
	scrollZoom : true
});

・ズーム表示のサイズを変更する場合

$("#zoom").elevateZoom({
	zoomWindowWidth: 500,
	zoomWindowHeight: 200
});

他にも色々なオプションがありますので、ぜひチェックしてみてください。

 

CSS:CSS3の「transform:scale()」でhoverした時に画像を拡大する

CSS3の「transform:scale()」を使用すると要素や画像拡大・縮小して表示することができます。

画像をマウスオーバーした時にその画像を少し拡大させて表示させるなどをすると、
サイトに動きを出すことができるのでいいと思います。

下記にCSS3の「transform:scale()」を使用して画像マウスオーバーした時に
拡大させて表示した時の方法をメモします。


「transform:scale()」の使用方法

ブロック要素を固定させて画像を拡大させた場合の方法です。
画像をマウスオーバーするとアニメーションで拡大します。

【CSS】

.scale {
	width: 400px;
	height: 300px;
	overflow: hidden;
}
.scale img {
	-moz-transition: -moz-transform 0.5s linear;
	-webkit-transition: -webkit-transform 0.5s linear;
	-o-transition: -o-transform 0.5s linear;
	-ms-transition: -ms-transform 0.5s linear;
	transition: transform 0.5s linear;
}
.scale img:hover {
	-webkit-transform: scale(1.2);
	-moz-transform: scale(1.2);
	-o-transform: scale(1.2);
	-ms-transform: scale(1.2);
	transform: scale(1.2);
}

※「transition: all 0.5s linear;」で指定してもOKです。
allの場合は全てのプロパティに適用されます。

HTML

<div class="scale">
    <img src="./css_scale.jpg">
</div>

表示例

サンプルページ:【CSS】画像の拡大・縮小表示

「scale()」は下記のようにX方向とY方向で指定することもできます。

transform: scale(1.2,1.2);

また、縮小させて表示させたい場合は(0.8)のように1よりも小さい値を指定します。


サイト内の画像をマウスオーバーした時に動きを出したい場合など色々と利用できそうです。

 

CSS:CSS3で画像や要素を角丸にして表示する「border-radius」

CSS3の「border-radiusプロパティを使用すると画像や要素角丸にして表示することができます。

今までは要素などを角丸にしたい場合、角丸の画像を作成して表示するなどしていました。
「border-radius」プロパティを使用すればCSSの記述だけでOKです。

また、指定した箇所のみに角丸を適用することも可能です。

下記にCSS3の「border-radius」プロパティを使用した時の方法をメモします。


「border-radius」の使用方法

CSS

.border_radius {
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}

HTML

要素に角丸を指定する場合

<div class="border_radius">
表示する内容
</div>

画像に角丸を指定する場合

<img src="./test.jpg" class="border_radius">

 

サンプルページ:【CSS】画像や要素を角丸

 


指定した箇所のみに角丸を適用

下記のように細かく指定することも可能です。

border-radius: 10px 10px 10px 10px / 10px 10px 10px 10px;

※「/」を使用しない場合は水平方向と垂直方向が同じ値になります。

border-radius: 10px 10px 10px 10px;

また、それぞれの角ごとに指定することも可能です。

border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;

角丸を使用したデザインは色々な箇所で使用する時が多いと思うので、
border-radiusを使用するとコーディングが楽になるかもしれないです。

CSS:CSSで要素を回転させる方法「transform:rotate()」

CSSの「transform:rotate()」を使用するとテキストや画像、指定した要素
回転させて表示することができます。

transform: rotate(10deg);

rotate()には回転する角度を指定します。

下記のように「-」マイナスで指定することも可能です。
その場合は逆方向に回転して表示されます。

transform: rotate(-10deg);

要素を回転させて文字や画像を傾けて表示させたい場合などに利用できそうです。

下記にCSSの「transform:rotate()」を使用して、要素を回転させて表示した時の方法を記載します。


「transform:rotate()」の使用方法

CSS

<style type="text/css">
div#rotate {
    -moz-transform: rotate(-20deg);
    -webkit-transform: rotate(-20deg);
    -o-transform: rotate(-20deg);
    -ms-transform: rotate(-20deg);
    transform: rotate(-20deg);
}
</style>

HTML

<div id="rotate">
test
</div>

表示例

css_transform_rotate_1


「transition」プロパティを使用すれば、hoverした時にアニメーションで回転させることも可能です。

hover時にアニメーションで回転させる場合

CSS

<style type="text/css">
div#rotate {
    color:#FFF;
    background-color:#09F;
    width: 200px;
    padding:20px;
    -moz-transition: -moz-transform 1s linear;
    -webkit-transition: -webkit-transform 1s linear;
    -o-transition: -o-transform 1s linear;
    -ms-transition: -ms-transform 1s linear; 
    transition: transform 1s linear; 
}
div#rotate:hover {
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
</style>

HTML

<div id="rotate">
test
</div>

表示例

サンプルページ


他にも「rotateX()」「rotateY()」「rotateZ()」「rotate3d()」で
指定することもできます。

要素を傾けて表示させたり、hoverした時に要素を回転させたりなど、
サイトに動きが出せて面白いかもしれないです。