Идентификатор не передается в RewriteRule - PullRequest
0 голосов
/ 08 мая 2011

У меня возникла проблема при использовании .htaccess. Правило перезаписи следующее.

RewriteRule ^user/([a-z]+)/?$ user.php?id=$1

входящий URL: http://abhimanyu.localhost.com/user/home/ его перенаправление на user.php, но я не получаю идентификатор. например, $ id = $ _GET ['id'];

есть идеи почему ???

FYI переписать журналы

127.0.0.1 - - [08/May/2011:23:38:35 +051800] [abhimanyu.localhost.com/sid#b8b34860][rid#b8d34d28/subreq]
(1) [perdir
/home/administrator/public_html/abhimanyu/]
pass through
/home/administrator/public_html/abhimanyu/user.php
127.0.0.1 - - [08/May/2011:23:38:35 +051800] [abhimanyu.localhost.com/sid#b8b34860][rid#b8d21ce0/initial]
(3) [perdir
/home/administrator/public_html/abhimanyu/]
add path info postfix:
/home/administrator/public_html/abhimanyu/user.php
-> /home/administrator/public_html/abhimanyu/user.php/home
127.0.0.1 - - [08/May/2011:23:38:35 +051800] [abhimanyu.localhost.com/sid#b8b34860][rid#b8d21ce0/initial]
(3) [perdir
/home/administrator/public_html/abhimanyu/]
strip per-dir prefix:
/home/administrator/public_html/abhimanyu/user.php/home
-> user.php/home
127.0.0.1 - - [08/May/2011:23:38:35 +051800] [abhimanyu.localhost.com/sid#b8b34860][rid#b8d21ce0/initial]
(3) [perdir
/home/administrator/public_html/abhimanyu/]
applying pattern '^user/([a-z]+)/?$'
to uri 'user.php/home'
127.0.0.1 - - [08/May/2011:23:38:35 +051800] [abhimanyu.localhost.com/sid#b8b34860][rid#b8d21ce0/initial]
(1) [perdir
/home/administrator/public_html/abhimanyu/]
pass through
/home/administrator/public_html/abhimanyu/user.php
127.0.0.1 - - [08/May/2011:23:38:35 +051800] [abhimanyu.localhost.com/sid#b8b34860][rid#b8d2cd08/subreq]
(1) [perdir
/home/administrator/public_html/abhimanyu/]
pass through
/home/administrator/public_html/abhimanyu/home

Ответы [ 3 ]

0 голосов
/ 09 мая 2011

Я не могу сказать, пытаетесь ли вы захватить строку сразу после /user/ или после /user/home. Если вам нужно захватить оба, попробуйте это:

^user/([a-z]+)/(.+)$

Вы можете получить доступ к первой строке после пользователя с помощью $1, а вторая строка с помощью $2.

0 голосов
/ 09 мая 2011

Попробуйте отключить опцию MultiViews.

0 голосов
/ 08 мая 2011

Попробуйте это:

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