Как лучше всего реализовать удобный URL-адрес с несколькими переменными с помощью mod_rewrite?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как лучше всего реализовать удобный URL-адрес с несколькими переменными с помощью mod_rewrite?

Сообщение Anonymous »

Я создаю веб-приложение, которое на клиентской стороне перегружено js, и данные передаются с сервера порциями.

Я пытаюсь реализовать решение для удобного URL-адреса, которое принимает URL-адрес типа:


http://exmample.com/find/SomethingHere-or-there


Это соответствует ряду переменных невидимый. Таким образом, это может закончиться обработкой следующим образом:


http://exmample.com/index.php?loc=Londo ... riceCat=10 -15


Я получаю значения, передавая удобный URL-адрес в качестве параметра, а затем возвращаю полный URL-адрес.

Моя первоначальная реализация использовала правило mod_rewrite для пересылки сценарию, который извлекает дружественный URL-адрес, запрашивает у базы данных соответствующий дружественный URL-адрес и возвращает полный URL-адрес со всеми параметрами, с которыми он сопоставляется, и строит url-строка с этим затем пересылается на веб-адрес, который затем извлекает параметры на лицевую сторону веб-приложения.

Однако я теряю понятный URL-адрес, когда использую php header("Location:http://example.com"), чтобы они видели полный URL-адрес с параметрами. Это одно из второстепенных требований, которые я пытаюсь выполнить.

Тогда я подумал, что, поскольку мое веб-приложение тяжелое для js, следует ли мне попытаться отобразить страницу, а затем использовать ajax параметры из базы данных в мое веб-приложение? Это лучший способ или есть еще один способ добиться этого, о котором я не знаю?

Отсутствие поддержки js на стороне клиента не является проблемой.

Прилагается код, описывающий мою первоначальную реализацию:

//get the friendly url as a parameter
$goto = explode('=',$_SERVER['QUERY_STRING']);
//$goto[1] = SomethingHere-or-there

//build the friendly URL string
$forwardingURL = 'Location:http://'.$_SERVER['HTTP_HOST'].'/'.getForwardedURL($goto[1]);

//will be http://exmample.com/index.php?loc=Londo ... eCat=10-15
header($forwardingURL);

//function that returns the full url param string from the friendly url
function getForwardedURL($friendlyURL){
$friendlyURL = mysql_escape_string($friendlyURL);
$query = "
SELECT url
FROM FriendlyURLmapping
WHERE friendly_url = \"$friendlyURL\"";

$resultP = mysql_query($query)

//the full parametised URL will be in $row
$row = mysql_fetch_array($resultP, MYSQL_ASSOC);
return $row["url"];
}


Подробнее здесь: https://stackoverflow.com/questions/131 ... iables-usi
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»