Как использовать? Q = Перенаправить URL

0

Я пытаюсь сделать страницу, перенаправляющую клиента к URL после ?q=. Например, http://example.com/?q=http://www.google.com перенаправит пользователя на http://www.google.com. Что мне нужно сделать, чтобы перенаправить страницу в зависимости от URL-адреса после ?q=?

  • 1
    Серверный? Сторона клиента? Любые языковые предпочтения? Вы не можете сделать это в простом HTML.
  • 0
    Какой тип языка программирования на стороне сервера вы используете?
Показать ещё 1 комментарий
Теги:
redirect

3 ответа

1
Лучший ответ

JS

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

PHP

header( 'Location: ' . $_GET['q'] );
  • 0
    JavaScript не будет работать, если q является единственным параметром в URL
2

Делает массив из всех переменных в адресной строке:

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

Вы не указываете, какой язык программирования вы используете, если вы используете PHP, вы можете это сделать:

<?php

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

  }                 

?>

Вы можете опционально проверить URL-адрес, чтобы предотвратить ошибки. Убедитесь, что вы используете PHP-версию (PHP> 5.2.13). Проверьте этот вопрос: Почему FILTER_VALIDATE_URL возвращает FALSE только для этого 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";
     }

  }

?>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню