
お世話になります。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で質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- その他(プログラミング・Web制作) .htaccessファイルの修正がこれで問題ないかどうか 1 2022/04/21 08:42
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- Excel(エクセル) エクセルでエラーを無視して一番左側のセルの値を返したい 2 2023/07/27 13:06
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- その他(プログラミング・Web制作) python pandas 行ごとに列名(列番号)を指定して抽出したい 1 2023/05/26 13:47
- ホームページ作成・プログラミング Adobe DreamweaverでのサイトのFTP 2 2023/03/05 11:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
絶対パスのルートをサブディレ...
-
1つ下の階層のフォルダに相対...
-
iframe内のリンク先を動的に変更
-
リンク先に日本語フォルダがあ...
-
XREA使用で作成したHTMLファイ...
-
HTMLの階層移動
-
URLに「.html」の拡張子がなく...
-
indexをつけないとどうなる?
-
カウンターについて・・・?
-
真っ白な画面の意味はなんでし...
-
トップページをindex.html以外...
-
URLの書き方
-
イントラネットURLの登録方法
-
URLを削ると
-
htmlでリンクに勝手にindex.htm...
-
iPadの標準ブラウザでローカルH...
-
HTMLからフォルダを開きたい
-
Excelで、社外秘(閲覧のみ)と...
-
テキストエディタvscodeでプロ...
-
Webサイトから、txtファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リンク先に日本語フォルダがあ...
-
URLに「.html」の拡張子がなく...
-
複数のindex.htmlを作ってもい...
-
1つ下の階層のフォルダに相対...
-
XREA使用で作成したHTMLファイ...
-
htmlでリンクに勝手にindex.htm...
-
URLの日付について
-
サーバー内のフォルダにある写...
-
CDで自動再生する為には
-
ホームページを作成したら、フ...
-
フォルダ内の最初のファイル名...
-
被リンクの全くないWEBページを...
-
indexをつけないとどうなる?
-
絶対パスのルートをサブディレ...
-
.htmと.htmlの違い
-
フォルダにはダミーでもindex.h...
-
webサイトの「index」を非表示...
-
index.htmlファイルはどこに?
-
[URL] "*/index.cgi" を "*/" ...
-
相対パスについて
おすすめ情報