代码之家  ›  专栏  ›  技术社区  ›  ntan

用大量参数重写mod

  •  0
  • ntan  · 技术社区  · 16 年前

    我正试图找到一个mod重写解决我的问题。

    让我演示3个参数(x,y,z)的示例

    url为list.php?x=1&y=2&z=3所以规则是

    RewriteRule ^list/x/([^/\.]+)/y/([^/\.]+)/z/([^/\.]+)/?$ list.php?x=$1&y=$2&z=$3
    

    到目前为止还不错。

    list.php?z=2&x=4&y=9
    

    list.php?y=2&z=4&x=9
    

    加 参数不能全部组合在一起 前任

    list.php?z=4
    

    或者

    list.php?x=7&z=7
    

    或者三个参数的组合

    所以对于3个参数,我必须写出所有可能的组合(重写规则)

    有没有别的办法来完成呢。

    例如

    如果mod分别重写每个参数,但是当有多个参数来自URL时,则合并每个参数的规则。

    RewriteRule parameter x rewrite to x/$1
    RewriteRule parameter y rewrite to y/$2
    

    所以当两个参数都变成x/$1/y/$2时

    1 回复  |  直到 16 年前
        1
  •  0
  •   mtmk    16 年前

    像这样的东西应该管用

    RewriteRule ^list/(?=(?:x/(\d+))?)(?=(?:y/(\d+))?) /list.php?x=$1&y=$2
    

    推荐文章