我正在尝试根据请求的 Accept 标头重写 URL。我在文档中看到这似乎是可行的,但我找不到任何有关如何操作的详细信息或示例。
基本上,我希望/abc/index.html
根据 Accept 标头重写请求:
请求Accept: application/vnd.x.v1+json
改写为/v1/abc/index.html
请求Accept: application/vnd.x.v2+json
改写为/v2/abc/index.html
等等。带有通用application/json
Accept 标头或根本没有 Accept 标头的请求将被重写为/v5/abc/index.html
非常感谢任何有关谁能完成此事的指点!
谢谢!
答案1
RewriteCond %{HTTP_ACCEPT} ^application/vnd\.x\.(v[1-9])\+json
RewriteRule ^(/abc/index\.html)$ /%1/$1 [L]
该RewriteCond
行与 Accept: 标头匹配并捕获vX
字符串。
RewriteRule 执行实际的重写并将RewriteCond
捕获的字符串添加到现在捕获的位置;使用%
插值RewriteCond
捕获,$
插值 RewriteRule 捕获。
调整图案等以适应。