尝试将uri重定向到带参数的页面

时间:2011-02-21 21:17:18

标签: .htaccess redirect uri

我遇到的问题是我尝试做两件事

  1. 从页面中删除.php
  2. redirect / user / 12345 to / user?id = 12345
  3. 我使用HTACCESS文件

    RewriteEngine On
    #remove .PHP from filenames
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^\.]+)$ $1.php [NC,L] 
    
    # Get user info for uri
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^user/(.*)$ user?UserID=$1 [L]
    

    .php已被删除,但当我键入/ user / 12345这样的网址时,我被重定向到主页而不是用户页面

    我做错了什么?

2 个答案:

答案 0 :(得分:0)

认为你需要至少重写为user.php?UserID=$1

如果你可以增加你的mod_rewrite日志记录级别,它会在日志中显示它的运行情况,如果你能跟踪正在发生的事情,这会很有帮助。

答案 1 :(得分:0)

我按照两个步骤的顺序工作了 这是正确且有效的HTACCESS

RewriteEngine On
# Get user info for uri
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^user/(.*)$ /user.php?UserID=$1 [L]

#remove .PHP from filenames
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

感谢您的帮助