【问题标题】:arbitrary rewrite or redirect of an url任意重写或重定向 url
【发布时间】:2010-12-25 22:05:42
【问题描述】:

如何使用 mod_rewrite 将示例 1 更改为示例 2。

示例 1

http://localhost/a/posts/1/12/abcd

示例 2

http://localhost/a/members/1/posts/page.php?pid=12

【问题讨论】:

  • 使用 .htaccess 或 httpd.conf?

标签: apache mod-rewrite url-rewriting


【解决方案1】:
RewriteRule posts/(\d+)/(\d+)/.* members/$1/posts/page.php?pid=$2 [L]

【讨论】:

    【解决方案2】:

    把它放在你的 .htaccess 文件中:

    RewriteEngine On
    RewriteRule ^a/posts/([0-9]+)/([0-9]+)/.*$ a/members/$1/posts/page.php?pid=$2 [L]
    

    ^a/posts/ 表示您的 URI 应以 /a/posts/ 开头
    ([0-9]+) 是一个数字子字符串,应至少包含一位数字
    .*$ 包含 URI 末尾的所有内容
    a/members/$1/posts/page.php?pid=$2 创建您的结果

    在你的情况下:

    Requested URL: http://localhost/a/posts/1/12/abcd
    URI: /a/posts/1/12/abcd
    $1: 1
    $2: 12
    Request Result: http://localhost/a/members/1/posts/page.php?pid=12
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 1970-01-01
      • 2020-03-01
      • 2021-03-17
      • 2015-02-04
      • 2016-06-27
      相关资源
      最近更新 更多