我只是在请求来自VLC播放器时尝试使用代理,因此在请求标头中,用户代理将包含VLC。
<Directory "/var/www/html/mvs">
RewriteEngine On
RewriteCond expr "%{HTTP_USER_AGENT} -strmatch '*VLC*'"
RewriteRule ^mvs/(.*)$ http://www.example.com/directory/$1 [P]
ProxyPassReverse /mvs/ http://www.example.com/directory/
</Directory>
当我在VLC web插件中运行一个文件时,它位于/ var / www / html / mvs /中,所以我认为RewriteRule和RewriteCond是错误的。该文件不应播放,因为http://www.example.com/directory/文件夹中不存在该文件。我不知道如何调试它。 Sry
答案 0 :(得分:1)
我明白了。我在html目录中的.htaccess文件中写了以下几行:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^VLC
RewriteRule ^mvs(.*) http://188.25.221.87$1 [R,L]
如果用户代理包含VLC,并尝试访问/ html / mvs /目录,则会将其重定向到http://188.25.221.87/
,并复制/ mvs /之后的路径或查询。如果用户代理不包含VLC,则不会重定向用户。重要的是,%{HTTP_USER_AGENT} ^区分大小写,因此无法使用^ vlc。