Идентификатор не передается в RewriteRule

#php #apache2

#php #apache2

Вопрос:

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

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

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

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

К вашему СВЕДЕНИЮ, журналы перезаписи

 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
  

Ответ №1:

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

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

Ответ №2:

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

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

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

Ответ №3:

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