#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
опцию.