お世話になります。Crassicと申します。
index.html
├about(about.html)
├blog(index.php)
└link(link.html)
といった構成の個人サイトを立ち上げております。
ここ最近、yahoo等の検索サイトからブログへ直でアクセスされ、嬉しい事なんですが私としてはTOPページである
index.htmlを通して閲覧して欲しいと思ってます。
javascriptでindex.html以外のサイトからindex.phpへアクセスがあった場合はindex.htmlへ強制的に飛ばす
スクリプトを色々調べて組み込んでおりましたが、そうするとお目当てのブログ記事に辿りつくのが困難で
読んでもらえないという状況に陥りました。
(アクセス解析より判明)
index.htmlからiframeで読み出す場合は固定のindex.phpであり、常に最新の記事になります。
が、検索で来られた場合はindex.php?id=300と言うように検索内容によって変わります。
ですので、index.htmlへ下記のスクリプトを組み込めばいいのだと考えましたが、私の調べ方が悪いのか
見つかりませんでした。
1.document.referrerにてURL元を調べる
2.<iframe src="http://******.com/blog/index.php" name="main"></iframe>内のsrc部分をreferrerのURLに置き換える?
3.検索で来られた訳ではなく、ブックマーク等の場合はindex.phpを表示させる
4.index.php自体にブックマークされている場合もindex.htmlへ強制的に飛ばす
この様な事がjavascriptで可能でしょうか?
もしくは上記の方法でなくても私が考えている事ができる組み方はありますでしょうか?
プロフェッショナルな皆様のお知恵をお借りしたく、書き込みさせて頂きました。
何卒宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#1です。
>検索からブログ記事に直でで来られる方はindex.htmlを通さずに
>index.php?id=***で表示されてしまいます。
>ですので、index.phpのどのid(記事)に直アクセスしてもまず全て
>index.htmlに飛ばします。
その際に、iframe内には最初のid=***を生かしてindex.php?id=***を表示させるようにすればいいのではないかと書いたつもりですが…?
>これを防ぐ為に、document.referrerでリンク元を調べてindex.html
>でなければ検索等で来られた→id指定と言う流れにしたかった訳
referrerでなくても、アクセス時のロケーションを調べてid指定があればそのidのページをiframe内に表示するだけでよいのではないかと書いたつもりです。(←表示ページがindex.htmlではない場合)
全体のページ構成が理解できていないので、ある仮定のもとで回答しています。
さらに、これらの処理がサーバ側(phpなど)で可能ならば(質問者様の環境で可能なのか不明なので)、そのほうが望ましいのではないかと書きました。
No.1
- 回答日時:
プロではありませんので、素人考えです。
ご質問の1~4の区別がいまいちわかりませんが…
表示するページのトップが常にindex.htmlで、その中のiframeにブログ記事(~index.php?id=300 などか?)が表示されるという構成であるという解釈でよいのなら、必ずしもreferrerを調べなくても、直接locationを調べればよいのでは?
location.pathnameが~index.htmlならばOK、それ以外(~index.phpなど)ならlocation.hrefをindex.htmlへ書き換え。
その際に、サーチ部(?以降)があれば、index.html?id=300などとしておく。
index.htmlのソースはiframeにデフォルト表示。ロード時にサーチ部があれば、javascriptでiframeのsrcを~index.php?id=300などに変更。
(スクリプトオフのユーザには効果ありませんが…)
もしphpの変更が可能であるなら、上記の処理全体をphp側で行えば、iframeのsrcも最初からセット可能ですし、javascriptも使用しないですみそうな気がしますが。
この回答への補足
fujillin様、有難うございます。
>ご質問の1~4の区別がいまいちわかりませんが…
>表示するページのトップが常にindex.htmlで、その中のiframeにブログ記事(~index.php?id=300 などか?)が表示されるという構成であるという解釈でよいのなら
おっしゃる通りです。
ただ少しばかり説明が抜けておりました、申し訳ありません。
ブックマークから閲覧される方はindex.html→index.phpの
流れでこちらの意図通りにサイトが表示されます。
ですが、検索からブログ記事に直でで来られる方はindex.htmlを通さずにindex.php?id=***で表示されてしまいます。
ですので、index.phpのどのid(記事)に直アクセスしてもまず全てindex.htmlに飛ばします。
そうするとindex.htmlの中のiframe srcのindex.phpははidを指定していないのでお目当ての記事ではなく、
常に最新の記事が表示されてしまいます。
これを防ぐ為に、document.referrerでリンク元を調べてindex.htmlでなければ検索等で来られた→id指定
と言う流れにしたかった訳です。
javascriptもイヌでも分かるJavaScript講座様のものをそのままコピペする程度の知識ですので
詳しい説明は分からず、申し訳ありません。
良い打開策があれば引き続きご教授お待ちしております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
リンク先に日本語フォルダがあ...
-
ホームを index.html から inde...
-
複数のindex.htmlを作ってもい...
-
1つ下の階層のフォルダに相対...
-
HTMLの階層移動
-
1つのファイルを 100 のフォル...
-
ホームページを作成したら、フ...
-
HP サイト FTP FFFTP ffftp...
-
1+(1+2)+(1+2+3)....+(1+2+...+...
-
サーバー内のフォルダにある写...
-
忍者へFTP接続でVBAでファイル...
-
URLに「.html」の拡張子がなく...
-
既存ウェブサイトをWordPressへ...
-
iframe内のリンク先を動的に変更
-
相対パスと絶対パス
-
Application.OnTimeで引数付き...
-
JSPと異なるディレクトリのファ...
-
複数のindexと優先度について
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つ下の階層のフォルダに相対...
-
複数のindex.htmlを作ってもい...
-
URLに「.html」の拡張子がなく...
-
XREA使用で作成したHTMLファイ...
-
リンク先に日本語フォルダがあ...
-
.htmと.htmlの違い
-
htmlでリンクに勝手にindex.htm...
-
URLの日付について
-
FTPしたのに、ページが真っ白です
-
トップページ「/index.html」の...
-
webサイトの「index」を非表示...
-
Apacheで、indexの拡張子別に優...
-
サーバー内のフォルダにある写...
-
URLの.html省略について
-
真っ白な画面の意味はなんでし...
-
相対パス
-
ホームページビルダー6サーバー...
-
URLにCGIのファイル名を出さな...
-
ホームを index.html から inde...
-
フォルダ内の最初のファイル名...
おすすめ情報