.htaccess重写将目录转换为/ key/value/key/value

Und*_*ned 3 url .htaccess

在使用规则将URL上的目录转换为key = value请求查询之前,我已经看到过它.

我不知道如何做到这一点,所以我可以有不止一对.

例如:

http://www.example.com/mykey/myvalue/mykey2/myvalue2
Run Code Online (Sandbox Code Playgroud)

将映射到:

http://www.example.com?mykey=myvalue&mykey2=myvalue2
Run Code Online (Sandbox Code Playgroud)

谢谢.

anu*_*ava 7

使用此.htaccess代码进行基于递归的key/value基于URI 的转换:

Options +FollowSymLinks -MultiViews
RewriteEngine on

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

使用这些规则,URL http://localhost/n1/v1/n2/v2/n3/v3/n4/v4将被内部重定向,以http://localhost/?n4=v4&n3=v3&n2=v2&n1=v1处理由/作为QUERY_STRING的名称 - 值对分隔的每对URL段.但请记住,如果URI没有偶数个段,例如:http://localhost/n1/v1/n2/那么它将被重定向到http://localhost/?n1=v1,丢弃额外的n2.