mod_rewrite / query_string - PullRequest
       8

mod_rewrite / query_string

0 голосов
/ 18 февраля 2011

Я получаю некоторые основные результаты из базы данных mysql и размещаю их на странице, на странице я добавил ссылки с переменной user_id:

href=\"http://localhost/TESTING/template.php?user_id=$user_id\" >click here

В файле template.php I 'Я получу $ user_id и покажу соответствующие полные данные.

Дело в том, что я не хочу, чтобы user_id = 249 http://localhost/TESTING/template.php?**user_id=**249 показывался в URL, я хотел бы что-то вроде "http://localhost/TESTING/template.php/249".

Я уже несколько дней занимаюсь этим безуспешно, возможно ли это? Или файл шаблона должен отображать user_id = $ user_id для получения переменной?

=====================

Чтобы обновить: я добавил код

RewriteEngine On

RewriteBase / TESTING /

RewriteRule ^ template.php / ([0-9] +) (/)? $ Template.php? User_id = $ 1 [L]

Изменена переменная ссылкиto href = "localhost / TESTING / template.php / {$ user_id}"> нажмите здесь

Перезапись теперь работает, но я не получаю переменную с $ user_id = $ _GET ["user_id"]; на странице template.php

Я добавил следующее на страницу template.php, чтобы посмотреть, что передается через URL:

<code><?php
ini_set('display_errors',1);
echo '<b>$_GET Variables</b><pre>';
var_dump( $_GET );
echo '
';?>

и получил следующий ответ:

$ _ GET Variables

array (1) {["user_id"] => string (2) "21"}

Как получить переменную?

========== *

Обновление теперь работает!{$ user_id} в ссылке нет {user_id} - может поклясться, что я пробовал оба пути.

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Обратите внимание, что mod_rewrite работает только на сервере Apache.

RewriteEngine On

RewriteBase /TESTING/

RewriteRule ^template.php/([0-9]+)(/)?$ template.php?user_id=$1 [L]
1 голос
/ 18 февраля 2011

Я не хочу быть невежливым, но в Интернете есть много руководств, например,

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

, который объясняет, с примерами, все, что вам нужно. что ты уже испробовал? Таким образом, мы можем объяснить, что не так.

...