gpt4 book ai didi

android - .htaccess HTTP_USER_AGENT 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:13:16 25 4
gpt4 key购买 nike

我的 .htaccess 文件有问题,通常它会检查用户引用,如果来 self 的站点,它允许访问流式 mp4 文件,但现在我想允许流式传输到 Android 和 iOS 设备,我'我使用 html5 标签,但它不发送 http_referer,所以我想检查用户代理以允许 mp4 文件流,这就是我所拥有的,但它不起作用。

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "Android|iPod|iPhone|iPad" [NC,OR]
RewriteCond %{HTTP_REFERER} !^http://(direct\.|www\.)?mysite\.com/.*$ [NC]
RewriteRule .*\.(mp4)$ http://www.mysite.com [R,NC]

最佳答案

你在这里使用了一个否定,所以你必须去掉 [OR] 并包含一个 !:

 RewriteCond %{HTTP_USER_AGENT} !(Android|iPod|iPhone|iPad) [NC]

您的规则所做的是当它不是正确的引荐来源网址且不是移动用户代理时重定向。你之前有什么:

RewriteCond %{HTTP_REFERER} !^http://(direct\.|www\.)?mysite\.com/.*$ [NC]
RewriteRule .*\.(mp4)$ http://www.mysite.com [R,NC]

意思是:如果引用者不是来自http://(direct\.|www\.)?mysite\.com/,则重定向.mp4 请求到 http://www.mysite.com。这里的逻辑是,如果引用者是正确的,他们就可以很好地访问 mp4 文件。

要遵循您说引用者是否正确如果用户代理是移动的逻辑,提供 mp4,您需要否定整个事情。 (A or B)-> do something,到 !(A or B) -> don't do something,转换为:!A and ! B -> 不要做某事

因此您需要否定移动用户代理检查,而不是 OR 使用 AND(这是重写条件的默认设置)。

关于android - .htaccess HTTP_USER_AGENT 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com