android - .htaccess HTTP_USER_AGENT 不工作
<p><p>我的 .htaccess 文件有问题,通常它会检查用户引用者,如果来 self 的站点,它允许访问流式 mp4 文件,但现在我想允许流式传输到 Android 和 iOS 设备,我' m 使用 html5 标签,但它不发送 http_referer 所以我想检查用户代理以允许 mp4 文件的流,这就是我所拥有的,但它不起作用。</p>
<pre><code>RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} "Android|iPod|iPhone|iPad"
RewriteCond %{HTTP_REFERER} !^http://(direct\.|www\.)?mysite\.com/.*$
RewriteRule .*\.(mp4)$ http://www.mysite.com
</code></pre></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您在这里使用否定,因此您必须丢失 <code></code> 并包含 <code>!</code>:</p>
<pre><code> RewriteCond %{HTTP_USER_AGENT} !(Android|iPod|iPhone|iPad)
</code></pre>
<p>您的规则所做的是重定向<strong>当它不是正确的引荐来源并且不是移动用户代理时</strong>。你以前有什么:</p>
<pre><code>RewriteCond %{HTTP_REFERER} !^http://(direct\.|www\.)?mysite\.com/.*$
RewriteRule .*\.(mp4)$ http://www.mysite.com
</code></pre>
<p>是说:如果引用者 <strong>不是</strong> 来自 <code>http://(direct\.|www\.)?mysite\.com/</code>,则重定向对 <code>http://www.mysite.com</code> 的 .mp4 请求。这里的逻辑是,如果referer正确,他们就可以正常访问mp4文件。</p>
<p>要遵循您所说的引用是否正确<em>或</em>如果用户代理是移动的逻辑,则提供 mp4,您需要否定整个事情。 <code>(A or B)-> do something</code>, to <code>!(A or B) -> don't do something</code>,翻译成:<code>!A and ! B -> 不要做某事</code>.</p>
<p>因此,您需要否定移动用户代理检查,而不是 <strong>OR</strong> 使用 <strong>AND</strong>(这是重写条件的默认设置)。</p ></p>
<p style="font-size: 20px;">关于android - .htaccess HTTP_USER_AGENT 不工作,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/12967371/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/12967371/
</a>
</p>
页:
[1]