.htaccess重写,对于这种情况我该怎么做?

发布于 2024-09-17 07:07:50 字数 194 浏览 2 评论 0原文

我想要

例如。

www.domain.com/api/json/implode/abc/and/a/b/c...

等于

www.domain.com/api/jason/?method=implode&key=abc&param1=and&param2 =a¶m3=b¶m4=c...

I would like to have

eg.

www.domain.com/api/json/implode/abc/and/a/b/c...

equal to

www.domain.com/api/jason/?method=implode&key=abc¶m1=and¶m2=a¶m3=b¶m4=c...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

遮云壑 2024-09-24 07:07:50

你可以这样做:

RewriteRule ^/api/json/([/]*)/([/]*)$ /api/jason/method=$1&key=$2
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4¶m3=$5
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4¶m3=$5¶m4=$6
# keep expanding this pattern out for however many paramas you need to be
# able to handle...

但是更干净的是这样的:

RewriteRule ^/api/json/([/]*)/([/]*)$ /api/jason/method=$1&key=$2
RewriteRule ^/api/json/([/]*)/([/]*)/(.*)$ /api/jason/method=$1&key=$2¶ms=$3

即:将所有尾随可选参数填充到单个参数中。

You could do something like this:

RewriteRule ^/api/json/([/]*)/([/]*)$ /api/jason/method=$1&key=$2
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4¶m3=$5
RewriteRule ^/api/json/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)/([/]*)$ /api/jason/method=$1&key=$2¶m1=$3¶m2=$4¶m3=$5¶m4=$6
# keep expanding this pattern out for however many paramas you need to be
# able to handle...

But cleaner would be something like this:

RewriteRule ^/api/json/([/]*)/([/]*)$ /api/jason/method=$1&key=$2
RewriteRule ^/api/json/([/]*)/([/]*)/(.*)$ /api/jason/method=$1&key=$2¶ms=$3

ie: stuff all trailing optional params into a single parameter.

﹎☆浅夏丿初晴 2024-09-24 07:07:50

我认为不可能动态计算出 param 的数量,但您可以做一些接近的事情:

RewriteRule ^/api/json/([^/]+)/([^/]+)/(.*) /api/jason/?method=$1&key=$2¶ms=$3

这将提取 methodkey > 单独,但将所有附加参数放入 params 中,您可以稍后在脚本中拆分它们。

I don't think it's possible to dynamically figure out the number of params, but you can do something close:

RewriteRule ^/api/json/([^/]+)/([^/]+)/(.*) /api/jason/?method=$1&key=$2¶ms=$3

This will extract method and key individually but put all the additional parameters into params, which you can split later within your script.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文