同一URLのままでスプラッシュページを作る

In: Tips

26 4月 2011

「最初の訪問時だけ、トップページでフラッシュ・ムービーが流れる」というようなページを手軽に作る方法です。

【スプラッシュページという手法】

Web制作には、「スプラッシュページ」という手法があります。これは実際のトップページの前に配置する、フラッシュなどを使用したリッチな扉ページのことです。大抵は、そのサイトのイメージを演出するフラッシュムービーが流れ、ムービーが終わるかスキップボタンを押すかすると、サイトの本体に移動するような仕組みになっています。

古くからある手法ですが、Web業界では賛否両論で、特にユーザビリティの観点からは「全く意味のないページ」として批判されることも多い手法です。

しかし、業務としてWeb制作をしていると、「スプラッシュページが欲しい」という要望があるのもまた事実です。
期間限定のキャンペーンサイトや、アパレルブランドのサイトなど、イメージ演出に対するニーズが高い場合が考えられますね。

【トップページのURLが変わってしまう】

そこで、普通に作るとこうなります。

index.htmlをスプラッシュページにする→top.htmlに移動

しかしこれだと、サイト内のトップページへのリンクを全てtop.htmlにしなくてはなりませんし、”/”で接続すると毎回フラッシュが流れ始めてしまいます。

【index.htmlのまま、スプラッシュと通常ページを切り替えたい】

同じURLのまま、スプラッシュページを管理することが出来れば、リンクもキレイに決まりますし、運用していくうちにスプラッシュページを廃止することも容易です。
ただし、毎回トップページに戻るたびにスプラッシュページにならないようにします。

広告

そこで、phpとmod_rewriteを使用して、訪問者の状態に応じて、表示させる内容を変更する簡易プログラムを作成いたしました。

■サンプルページ

外部サイトからの移動、直接アクセスなどで、1回目の訪問時にはフラッシュが表示され、それ以降、サイト内の遷移では通常のトップページが表示されます。

■必要なファイル群
  1. index.php …リファラーを元にアクセスを振り分けます。
  2. index.html …通常のトップページです。
  3. splash.html …スプラッシュページです。
  4. .htaccess …mod_rewriteでindex.phpを常にインデックスとして振るまわせます。
■コードの解説

『index.php』
ホスト名、インデックスページ、スプラッシュページの3つは、設置する場所によって書き換えてください。

『.htaccess』

DirectoryIndex index.php
Options -Indexes
#↑index.phpがインデックスになるようにし、念のためにファイルの自動インデックスを不可にします。
 
RewriteEngine On
#RewriteCond %{REQUEST_URI} ^/$
#RewriteRule ^(.*)$ /index.php
RewriteCond %{REQUEST_URI} ^/index\.html$
RewriteRule ^(.*)$ /index.php [L]
#↑mod_rewriteを使用して、"index.html"、"/"へのリクエストをindex.phpに振り向けます。

これで、最初の訪問時だけフラッシュムービーを流れるページを作ることが出来ます。
(スプラッシュページという手法の是非はともかくとして)

■動作環境

php、mod_rewrite、htaccessが実行可能なサーバー環境

コメント

6 Responses to 同一URLのままでスプラッシュページを作る

トラックバックURL:

Avatar

viora

5月 5th, 2011 at 10:57 AM

まさにやりたいことなのですが、
index.phpのコードがわかりません。
どうやって振り分けるのでしょうか?

よろしくお願いいたします。

Avatar

dacelo

5月 10th, 2011 at 3:12 PM

どこかに書いたんですが、行方不明になってしまいました。
時間が出来たらもう一回書いてみるのでお待ちください。

Avatar

viora

5月 15th, 2011 at 11:03 PM

現状、index.htmlならトップページで、/ならスプラッシュページのように切り分けていますが、やはりこれは駄目ですよね。
よろしくお願いいたします。

Avatar

shokodei

1月 11th, 2012 at 12:13 PM

“同一URLのままでスプラッシュページを作る | Weblogy” http://t.co/P2kAgzM2

Avatar

kana-kana_ceo

1月 11th, 2012 at 12:13 PM

.htaccessでリファラーによって振り分ける手法です。

Avatar

itochan

6月 17th, 2013 at 7:08 PM

「最初の訪問時」であれば、cookieな気がする。

Comment Form

About this blog

ここは、SE見習いである私ことdaceloが、日夜習得していくシステム関連の備忘録、phpやWordPressTipsのネタ、あるいはSEOやWebマーケティング関連の雑感を投稿するブログです。 平日は大体毎日投稿しています。土日は休業日です。

カテゴリー

カテゴリー

アーカイブ