我希望能够执行以下操作:
当我的Apache服务器收到具有以下标头的请求时:
Accept: application/ld+json
我想返回文件“./jsonld”,其标题为
ContentType: application/ld+json
这是我目前所掌握的情况:
<If "%{HTTP:Accept} =~ m#application/ld\+json#">
RewriteEngine On
RewriteRule ^ /jsonld [L]
Header always set Content-Type "application/ld+json"
</If>
2条答案
按热度按时间ozxc1zmp1#
不需要Apache
<If>
表达式或Header
指令,因为您只需要使用mod-rewrite就可以做到这一点。每个发送相应
Accept
头的请求都被重写为/jsonld
,这包括对/jsonld
本身的请求(以确保在响应中发送回正确的mime类型)。T
标志强制使用将与响应一起发送的mime类型(Content-Type
标头)。假设这些都位于文档根(
.htaccess
和jsonld
文件)中,则替换字符串上的斜杠前缀将被有意省略。END
标志(Apache 2.4)用于防止重写循环。oymdgrw72#