【问题标题】:Apache ModRewrite regular expressionApache ModRewrite 正则表达式
【发布时间】:2012-08-01 16:32:09
【问题描述】:

这是我想做的:

/gestion/aa/       => /gestion/aa.php
/gestion/bb/       => /gestion/bb.php
/gestion/a/b/      => /gestion/a/b.php
/gestion/a/b/c/    => /gestion/a/b/c.php

/cmd/aa/           => /cmd/aa.php
/cmd/bb/           => /cmd/bb.php
/cmd/a/b/          => /cmd/a/b.php
/cmd/a/b/c/        => /cmd/a/b/c.php

/json/aa/          => /json/aa.php
/json/bb/          => /json/bb.php
/json/a/b/         => /json/a/b.php
/json/a/b/c/       => /json/a/b/c.php

这让我想到了这个简单的正则表达式:

^/(gestion|cmd|json)/(([^/]+/)*)$ /$1/$2.php [QSA,L]

问题在于 $2always / ,所以结果是:

/json/aa/          => /json/aa/.php
/json/bb/          => /json/bb/.php
/json/a/b/         => /json/a/b/.php
/json/a/b/c/       => /json/a/b/c/.php

知道如何获得正确的正则表达式吗?

【问题讨论】:

    标签: regex mod-rewrite


    【解决方案1】:

    ^/(gestion|cmd|json)/(.+)/$ /$1/$2.php [QSA,L] 应该可以解决问题

    【讨论】:

      【解决方案2】:

      使用这个:

      ^(gestion|cmd|json)(/.*)/$ /$1$2.php
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-01
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多