• 締切済み

外部からのアクセスを特定ページに飛ばす方法

<script type="text/JavaScript"> var link = document.referrer; // var paths = link.split("/"); var path = paths[paths.length - 1]; // if(path != "test.html"){ // test.html以外からのアクセスは以下のアドレスに飛ばす location.href = "http://www.○○○.com"; } </script> ========================= 上記のスクリプトを書き入れればよいことは分かりましたが if(path != "test.html") ←この部分をパスではなく、URLで指定する書き方を教えてください。 それと、URLで指定する書き方で複数指定することはできますか? 例えば、ifの部分に、www.○○○.com/test.htmlとwww.○○○.com/sample.htmlの二つのURLを指定する方法を教えてください。 説明下手ですみません。よろしくお願い致します。

みんなの回答

  • gorusura
  • ベストアンサー率59% (25/42)
回答No.2

そういう場合は、正規表現です。 先頭が http://www.○○○.com から始まるものを指定すれば良いです。 var url = 'http://www.○○○.com'; if( !RegExp('^'+url.replace(/([\\.+*()^$?\[\]{}|])/g,'\\$1')).test(link) ) こんな感じで良いです。

全文を見る
すると、全ての回答が全文表示されます。
  • gorusura
  • ベストアンサー率59% (25/42)
回答No.1

変数 link に代入されている値こそが、あなたのいう "URL" です。 if 文のところはこんな感じでしょうか。 if ( link == 'http://www.○○○.com/test.html' || link == 'http://www.○○○.com/sample.html') もっと一杯あるのなら、他のやり方もあります。

oshietekun1go
質問者

補足

もっといっぱいあります、他のやり方を教えてください。 自分のhttp://www.○○○.com内からのアクセス以外はすべて一度トップページに飛ばしたいです。 よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 特定元以外のアクセスを他に飛ばす方法の除外複数化

    特以外のアクセスを他に飛ばす方法で検索すると、 ↓ ======================= <script type="text/JavaScript"> var link = document.referrer; // リンク元取得 var paths = link.split("/"); var path = paths[paths.length - 1]; // ファイル名 if(path != "test.html"){ // test.html以外からのアクセスは以下のアドレスに飛ばす location.href = "http://www.~"; } </script> ======================= このスクリプトが出てきて見事解決できたのですが、 これだとtest.htmlだけしか除外できません。 この除外元を一つだけではなく、二つに増やす方法を教えてください。 if(path != "test.html; example.html"){ みたいに「;」を打って試してみたのですがなりませんでした。

  • 特定のURLからの訪問者を入室禁止にしたい

    色々調べてみたのですがよく解らなくて質問させて頂きます。 要は、特定のサイトでリンクされて、そのリンクから来る閲覧者を、本来のページとは違うURLへとばしたいのです。(これでお解りいただけるかな?) 指定URL以外からのアクセスを拒否するJavaScriptとして <script> /* 正規のリンク元URL又はURLの一部(アカウントだけでも可)を記述 */ check = "http://www.xxx.xx/xxxxx/"; /* 正規のリンク元からのアクセスではなかった場合に飛ばすURL */ url = "http://www.***.**/****/"; ref = top.document.referrer; // リンク元のURLを取得 if (ref.indexOf(check) < 0) // refにcheckで指定した文字列が含まれているかチェック document.location = url; </script> と言ったScriptは見つけられたのですが、私が望んでいるのは、 /* 入室許可したくないリンク元URL又はURLの一部を記述 */ check = "http://www.xxx.xx/xxxxx/"; /* 入室許可したくないリンク元URLの場合に飛ばすURL */ url = "http://www.***.**/****/"; ref = top.document.referrer; // リンク元のURLを取得 ???????????????? document.location = url; </script> と言ったScriptで、?????の部分をどう記述して良いのかが解りません。 よろしくお願いいたします。

  • javascriptでGETパラメータを扱う

    javascript初心者です。 javascriptでURLをGETパラメータとして取得して、その値を HTMLのaタグのリンク先に指定しようとしています。 こんな感じに出来たらいいと思っています。 ↓ <a href="[GETパラメータで取得したURL]">[GETパラメータで取得したURL]</a> GETパラメータの取得は自力で調べて下記のように記述すればできることがわかりましたが、 aタグのリンク先に指定する記述方法が分かりません。 助けてください。 よろしくお願いします。 <script type="text/javascript"> function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } </script>

  • JavascriptとCookieについて

    HTML【index.php】でフォームを作り、クリック時にCookieに保存 →別ページ【input.php】で保存したCookieで判断し内容を変更するページを作ろうと思っています。 http://memo.ark-under.net/memo/404 こちらのページを参考に以下のように作ってみたのですが動作しません。 JavascriptとPHPを使えたらどんな方法でも良いので、ご教授お願い致します。 最近勉強を始めた初心者ですので、なるべく簡単に教えていただけると幸いです。 ----------------------------------------------------------------------- ----------------------------------------------------------------------- 【index.php】 <script type="text/javascript"> // クッキー保存 setCookie(クッキー名, クッキーの値, クッキーの有効日数); // function setCookie(c_name,value,expiredays){ // pathの指定 var path = location.pathname; // pathをフォルダ毎に指定する場合のIE対策 var paths = new Array(); paths = path.split("/"); if(paths[paths.length-1] != ""){ paths[paths.length-1] = ""; path = paths.join("/"); } // 有効期限の日付 var extime = new Date().getTime(); var cltime = new Date(extime + (60*60*24*1000*expiredays)); var exdate = cltime.toUTCString(); // クッキーに保存する文字列を生成 var s=""; s += c_name +"="+ escape(value);// 値はエンコードしておく s += "; path="+ path; if(expiredays){ s += "; expires=" +exdate+"; "; }else{ s += "; "; } // クッキーに保存 document.cookie=s; } <form action="input.php" method="post"> ボタン1:<input type="submit" name="input" value="入力" onsubmit="return setCookie('hanteisql','1',7)"> ボタン2:<input type="submit" name="input2" value="入力" onsubmit="return setCookie('hanteisql','1',7)"> </form> ----------------------------------------------------------------------- ----------------------------------------------------------------------- 【input.php】 <?php echo "クッキーは".$_COOKIE["hanteisql"]."です。" ?> -----------------------------------------------------------------------

  • 複数のURLからアクセス制限したい場合

    ある特定のURLからのアクセスを、どこかのページに飛ばすには、 <Script Language="JavaScript"> <!-- reff=document.referrer; if(reff.indexOf('相手のURL')!=-1){ location.replace('飛ばす先のURL') } //--> </Script> ですが、相手のURLのところを「複数」指定したい場合には、 どのように書き加えれば良いのでしょうか? 試行錯誤したものの、上手くいかず困っています。 ご意見頂けましたら幸いです。

  • フレームページでアクセス制限したい場合

    ある特定のURLからのアクセスを、どこかのページに飛ばすには、 <Script Language="JavaScript"> <!-- reff=document.referrer; if(reff.indexOf('相手のURL')!=-1){ location.replace('飛ばす先のURL') } //--> </Script> なのですが、 フレームページの<body>と</body>の間に設置したところ、 飛ばすことが出来ず、普通に表示されてしまいます。 この場合どうすれば、いいのでしょうか? ご意見頂けましたら幸いです。

  • javascriptの動作について

    こんばんは。 直接アドレス指定などしてきたものについては、 トップページへ飛ばすことをしようと思ったのですが、 以下の記述だと、IE8では動作しましたが、GoogleCrome(11.0.696.77)、firefox(3.6.0)、safari では動作しませんでした。(location.hrefがダメなんでしょうか?) 解決策・回避策などあれば教えてください。 よろしくお願いします。 <script language="JavaScript" type="text/JavaScript"> <!-- var url; url = document.referrer; if(url != 'http://xxxxxxxxx'/){ location.href('http://xxxxxxxxxxxxx'); } // --> </script>

  • 特定のサイトからの携帯でのアクセスを別サイトへ飛ばす方法

    質問内容はタイトルの通りなのですが 下記のようなことを携帯に対してもできるでしょうか? リンクを貼られたあるサイトからのアクセスを 別のページ(Yahooなど)に飛ばしたいのです。 ヤプログで利用したいと考えています。 <script language="JavaScript"> <!-- if(document.referrer.indexOf("XXX")!=-1) window.location.href="http://XXXXXXX"; // --> </script> 私はプログラムの知識がないため 上記のようなサンプルを書き添えていただければ助かります。 よろしくお願いします。

  • 指定URL以外からのアクセスを拒否するJavaScriptとして

    指定URL以外からのアクセスを拒否するJavaScriptとして <script> /* 正規のリンク元URL又はURLの一部(アカウントだけでも可)を記述 */ check = "http://www.xxx.xx/xxxxx/"; /* 正規のリンク元からのアクセスではなかった場合に飛ばすURL */ url = "http://www.***.**/****/"; ref = top.document.referrer;// リンク元のURLを取得 if (ref.indexOf(check) < 0)// refにcheckで指定した文字列が含まれているかチェック document.location = url; </script> とあり、試しているのですが、Google chrome4.1ではきちんと動作(指定のアドレスから移動してきちんと表示される、お気に入りから開くと転送される)するのに、Internet Explore8/Firefox3.5では動作しません(指定のアドレスから移動しても転送されてしまう)。 理由がわからないのでどなたか教えて頂けないでしょうか。 よろしくお願いいたします。

  • 複数の特定のURLからのみアクセスを許可

    複数の特定のURLからのみアクセスを許可し、それ以外の場合は、他のページへ飛ばすJavascriptを具体的に教えてくれませんか? 単数の場合は以下のようにすれば良いらいしいのですが、複数の場合灰は分かりません <script> check = "~a.html"; url = "~b.html"; ref = top.document.referrer; if (ref.indexOf(check) < 0) document.location = url; </script>