【问题标题】:let's encrypt auto-rule to redirect trafic from http to https excepted some files让我们加密自动规则以将流量从 http 重定向到 https,但某些文件除外
【发布时间】:2018-06-06 16:02:30
【问题描述】:

我的 Let's encrypt cerbot(在 apache 2.4 上)进行了从 http 流量到 https 的自动重定向,非常感谢。

但在某些情况下,我需要通过 http 协议访问一些文件(此处为 image.jpg)。

除了一个文件夹或某些页面之外,我还阅读了有关重定向的其他问题,但它对我不起作用。

这是我的代码:

RewriteCond %{SERVER_NAME} =www.domain.ch [OR]
RewriteCond %{SERVER_NAME} =upload.domain.ch [OR]
RewriteCond %{SERVER_NAME} =domain.ch
RewriteCond %{REQUEST_URI} !^image.jpg
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

提前致谢

【问题讨论】:

  • 您需要告诉我们为什么您在其他答案中读到的内容对您“不起作用”,否则我们只能重复您已经读过的内容。那么发生了什么?
  • 对不起,你是对的,所以在我的代码中,我尝试应用这个解决方案stackoverflow.com/a/38220432/2282880,但是用我的图像替换文件夹,当我调用图像 url 时它仍然会重定向。
  • 这里突出的一点:RewriteCond %{REQUEST_URI} !^image.jpg 不起作用,因为 REQUEST_URI 是一个 绝对 路径。所以应该是RewriteCond %{REQUEST_URI} !^/image.jpg
  • 工作:) 谢谢。
  • 很高兴听到这个消息,祝您有美好的一天!

标签: apache mod-rewrite https url-rewriting lets-encrypt


【解决方案1】:

图像路径中缺少斜线(相关路径与绝对路径)。 感谢@arkascha 的帮助。

RewriteCond %{SERVER_NAME} =www.domain.ch [OR]
RewriteCond %{SERVER_NAME} =upload.domain.ch [OR]
RewriteCond %{SERVER_NAME} =domain.ch
RewriteCond %{REQUEST_URI} !^/image.jpg
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2015-03-13
    • 2014-03-19
    • 2017-05-30
    • 2011-12-04
    • 2013-06-02
    • 1970-01-01
    • 2012-04-02
    • 2019-08-26
    相关资源
    最近更新 更多