Помогите с пониманием, почему это переписывание не работает? - PullRequest
2 голосов
/ 19 ноября 2010

У меня есть это:

 RewriteRule ^show_shop/([0-9]+)$ show_shop.php?id=$1 [NC]

При вводе URL-адреса следующим образом: «domain.com/show_shop/4», тогда URL-адрес извлекается, и отображается «show_shop.php». Так что переписывание вроде работает.

Однако номер слэша не работает. Я использую этот код:

  $id = $_GET['id'];

но это приводит к пустому значению, то есть там ничего нет. Не установлено согласно php.

Что может быть причиной этого.

К вашему сведению, у меня есть много других правил, подобных этим, и они отлично работают, но это кажется проблематичным ...

Ввод URL-адреса вручную (реальный URL-адрес), например, «show_shop.php? Id = 4», работает нормально, идентификатор - GET, и все в порядке.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2010

Попробуйте QSA-Flag

RewriteRule ^show_shop/([0-9]+)$ show_shop.php?id=$1 [NC,QSA]
0 голосов
/ 19 ноября 2010

Не должно ли это быть%, а не $

RewriteRule ^show_shop/([0-9]+)$ show_shop.php?id=%1 [NC]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...