如何使用?q =重定向网址

时间:2014-04-14 01:09:02

标签: html redirect

我正在尝试创建一个页面,在?q=之后将客户端重定向到URL。例如,http://example.com/?q=http://www.google.com会将用户重定向到http://www.google.com。根据{{​​1}}之后的网址

,我需要做些什么才能让网页重定向

3 个答案:

答案 0 :(得分:1)

您没有指定使用的编程语言,如果您使用的是PHP,则可以执行此操作:

<?php

  if (isset($_GET['q']) && !empty($_GET['q'])) {
      header('Location: '.$_GET['q']);       

  }                 

?>

您可以选择验证网址以防止错误。确保您使用的是PHP版本(PHP&gt; 5.2.13)。请检查此问题:Why FILTER_VALIDATE_URL return FALSE for only this url?

<?php

  if (isset($_GET['q']) && !empty($_GET['q'])) {
     if(filter_var($_GET['q'], FILTER_VALIDATE_URL)){
        header('Location: '.$_GET['q']); 
     }else{
        echo "Invalid URL";
     }

  }

&GT;

答案 1 :(得分:1)

从地址栏中的所有变量中取出一个数组:

var query = {};
window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
    function(m,key,value) { query[key] = value; });

在随机Google搜索中测试,该对象看起来像:

aqs:      "chrome.0.69i59j69i65l3j69i61j0.1762j0j4"
es_sm:    "0"
ie:       "UTF-8"
oq:       "random"
q:        "random"
sourceid: "chrome"

因此,找到您的q变量并重定向到它:

var query = {};

window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
    function(m,key,value) { query[key] = value; });

location.href = query['q'];

答案 2 :(得分:0)

JS

var lnk = location.href.split( '?q=' );
location.href = lnk[1];

PHP

header( 'Location: ' . $_GET['q'] );