2011-05-08 48 views
0

我在使用.htaccess時遇到了一個問題。重寫規則如下。ID未在RewriteRule中傳遞

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

進入網址:http://abhimanyu.localhost.com/user/home/ 其重定向到user.php的,但我沒有得到的ID。 例如$ 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 

回答

0

試試這個:

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

,如果你想/user/後立即/user/home後拍照字符串我不能告訴。如果您需要同時捕獲,試試這個:

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

您可以$1用戶與$2第二串後訪問的第一個字符串。

0

嘗試禁用MultiViews選項。