htaccess的重写目录转换成/键/值/键/值 [英] .htaccess rewrite to convert directories into /key/value/key/value

查看:193
本文介绍了htaccess的重写目录转换成/键/值/键/值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在那里的规则来转换目录的URL,以key = value的请求查询之前见过它。

I've seen it before where a rule was used to convert directories on a URL to key=value request queries.

我不知道如何做到这一点,所以我可以有一个以上的这些对。

I have no idea how to do this so I can have more than one of these pairs.

例如:

http://www.example.com/mykey/myvalue/mykey2/myvalue2

将映射到:

http://www.example.com?mykey=myvalue&mykey2=myvalue2

感谢。

推荐答案

使用此的.htaccess code到有键/值基于URI递归基础的翻译:

Use this .htaccess code to have recursion based translation of key/value based URI:

Options +FollowSymLinks -MultiViews
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)(/.*)?$ $3?$1=$2 [N,QSA]
RewriteRule ^(/[^/]+|[^/]+/|/?)$ /index.php [L,QSA]

使用这些规则的网址的http://本地主机/ N1 / V1 / N2 / V2 / N3 / V3 / N4 / V4 将在内部重定向到的http://本地主机/ 4 = V4和放大器; N3 = V3和放大器; N2 = v2和放大器; N1 = V1 对待每对URL段由/分隔为一个名字 - 值对QUERY_STRING? 。但请记住,如果URI没有连段数,例如:的http://本地主机/ N1 / V1 / N2 / 然后它会被重定向到的http://本地主机/ N1 = V1 ,丢弃多余的氮气

Using these rules a URL of http://localhost/n1/v1/n2/v2/n3/v3/n4/v4 will be INTERNALLY redirected to http://localhost/?n4=v4&n3=v3&n2=v2&n1=v1 treating each pair of URL segments separated by / as a name-value pair for QUERY_STRING. BUT keep in mind if URI doesn't have even number of segments eg: http://localhost/n1/v1/n2/ then it will be redirected to http://localhost/?n1=v1, discarding extra n2.

这篇关于htaccess的重写目录转换成/键/值/键/值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆