由于 iOS 8 及更高版本中的 NSURLRequest 超时问题,我不得不关闭我的 apache 服务器中的保持事件状态。我读到了这个 https://stackoverflow.com/a/25996971/3162662关于如何设置 BrowserMatch,我在 httpd.conf 中是这样做的:
<IfModule setenvif_module>
BrowserMatch "iOS 8\." nokeepalive
</IfModule>
但我想知道这是否只适用于 iOS 8? iOS 9 呢?如何匹配来自 iOS 的所有请求?
谢谢!
最佳答案
根据 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 的 iOS 用户代理,看起来相同的正则表达式可以工作。当然,所有这些都需要一些测试。
关于ios - Apache BrowserMatch iOS 禁用 keepalive。匹配所有 iOS 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170284/