【问题标题】:Trying to redirect a uri to a page with parameter尝试将 uri 重定向到带有参数的页面
【发布时间】:2011-02-21 21:17:17
【问题描述】:

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

  1. 从页面中删除 .php
  2. 将 /user/12345 重定向到 /user?id=12345

我为此使用了一个 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 之类的 URL 时,我被重定向到主页而不是用户页面

我做错了什么?

【问题讨论】:

    标签: .htaccess redirect uri


    【解决方案1】:

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

    如果您可以提高您的 mod_rewrite 日志记录级别,它会在其日志中显示其正在运行,如果您可以跟踪正在发生的事情,这将很有帮助。

    【讨论】:

      【解决方案2】:

      我得到它的工作是按照两个步骤的顺序 这是正确且有效的 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] 
      

      感谢您的帮助

      【讨论】:

        猜你喜欢
        • 2016-01-09
        • 1970-01-01
        • 2012-11-19
        • 2011-07-04
        • 2015-07-26
        • 1970-01-01
        • 1970-01-01
        • 2013-09-12
        • 1970-01-01
        相关资源
        最近更新 更多