简体   繁体   English

Apache ModRewrite正则表达式

[英]Apache ModRewrite regular expression

Here's what I'd like to do: 这是我想做的:

/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

This brought me to this simple regular expression: 这使我有了一个简单的正则表达式:

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

The problem is that $2 has always the / within so the results are: 问题在于$2 始终/ ,因此结果为:

/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

Any idea how to get the right regexp? 任何想法如何获得正确的正则表达式?

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

用这个:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM