是否可以根据HTTP-Header content-type
?
例如:
1)
应用正在尝试加载localhost/res/123/var/abc
,content-type
设置为:
application/json
服务器应该只将JSON-Result返回给应用程序(已实现)。
2)
如果普通网络浏览器正在访问网址localhost/res/123/var/abc
,则content-type
设置为:
text/html
在这种情况下,服务器应重定向浏览器以输出网络视图(例如index_web.html
)。
我可以在不使用PHP的情况下实现这样的事情吗?
答案 0 :(得分:7)
据我所知,内容类型未在请求时设置。因此,您需要检查浏览器是否正在发送Accept
标头,该标头向服务器描述它将接受(和显示)的数据类型而不下载它。大多数浏览器都这样做他们将以下标题字符串发送到服务器(这是从Chrome获得的):
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
因此,您需要使用条件检查Accept
标题:
RewriteCond %{HTTP:Accept} text/html [NC]
# Then, add your RewriteRules here ...
这将检查text/html
标题中是否包含Accept
。