【问题标题】:Apache bypass URL based on Header基于Header的Apache绕过URL
【发布时间】:2014-11-04 19:11:35
【问题描述】:

我希望根据 header 上的值通过 url, 当请求到达 apache 服务器时将检查标头,如果 value = test1

它将重写代理通行证网址示例:

www.demo.test.com  >> to 

www.end.test.com

如果值为 null,它将绕过 url 到

www.null.test.com

测试这种情况的最佳方法是什么

【问题讨论】:

    标签: apache mod-rewrite mod-proxy


    【解决方案1】:

    您可以使用 RewriteCond 检查 HTTP 标头,例如

    RewriteCond %{HTTP:Some-Header} test1
    RewriteRule ^ http://www.demo.test.com [L]
    

    基于 cmets,当请求 index.html 并发送标头 Video: Provider1 时,重写为 demo.test.com/provide1/m3u8.mp4。如果header为Video: Provider2,则改写为demo.test.com/provide/m3u8.mp4

    RewriteCond %{HTTP:Video} ^Provider1$
    RewriteRule ^index.html$ http://demo.test.com/provide1/m3u8.mp4 [L]
    
    RewriteCond %{HTTP:Video} ^Provider2$
    RewriteRule ^index.html$ http://demo.test.com/provide/m3u8.mp4 [L]
    

    【讨论】:

    • 我不想重定向 url 本身,我想重定向特定的“子 url”,它将在代码中请求
    • 我不明白。如果您不想基于 HTTP 标头进行重写,您的要求到底是什么?
    • 我会用更好的方式解释它:
    • 使用连接到 www.demo.com
    • 生病请求 www.mysite.com/index.html Ive 自定义标头值 Video: Provider1 或 Video: Provider2 - 如果值为 Porvider 1 我想:在 html 中的 js 代码中;有一个名为 demo.mysite.com 的 url 我需要它重新写入并在它请求时替换为 demo.test.com/provide1/m3u8.mp4 - 如果值为 Provider 2 我想在 html 中的 js 代码中;有一个名为 demo.mysite.com 的 url,我需要它重新写入并在需要时替换为 demo.test.com/provide/m3u8.mp4
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-19
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-10-28
    相关资源
    最近更新 更多