由于iOS 8及更高版本中的NSURLRequest超时问题,我不得不在我的apache服务器中关闭keep alive。我读了关于如何设置BrowserMatch的https://stackoverflow.com/a/25996971/3162662,我在httpd.conf中这样做了:
<IfModule setenvif_module>
BrowserMatch "iOS 8\." nokeepalive
</IfModule>
但我想知道这是否仅适用于iOS 8? iOS 9怎么样?如何匹配来自iOS的所有请求?
谢谢!
答案 0 :(得分:2)
根据this table os Safari user agents,您似乎可以通过以下设备定位:
BrowserMatch "iPhone" nokeepalive #All iPhones
BrowserMatch "iPhone|iPad|iPod" nokeepalive #All iPhones, iPads and iPods
如果你想定位一个特定的系统版本,我会选择这样的东西:
BrowserMatch "iPhone.*OS\s8" nokeepalive #All iPhones on iOS 8
BrowserMatch "iPhone.*(OS\s8|OS\s9)" nokeepalive #All iPhones on iOS 8
我已经快速检查了Chrome和Firefox for iOS用户代理,它看起来像是相同的正则表达式。当然这一切都需要一些测试。