【问题标题】:Forcing http on a url using .htaccess使用 .htaccess 在 url 上强制 http
【发布时间】:2015-05-02 02:11:41
【问题描述】:

我正在使用 .htaccess 在我的网站上强制使用 https,它工作正常。但我需要在单个 url 上强制 http(例如:http://www.website.com?o=com&t=send)。 我不知道该怎么做?我不确定如何处理。

请帮忙....

【问题讨论】:

    标签: .htaccess url-redirection


    【解决方案1】:

    您可以将此规则用作 RewriteEngine On 行下方的第一条规则:

    RewriteCond %{HTTPS} off
    RewriteCond %{THE_REQUEST} !/\?o=com&t=send [NC]
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
    
    RewriteCond %{HTTPS} on
    RewriteCond %{THE_REQUEST} /\?o=com&t=send [NC]
    RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]
    

    【讨论】:

    • 很抱歉我的回复延迟,但这对我不起作用。看看我的 htaccess 代码,我认为这些行导致 https RewriteEngine On RewriteCond %{HTTPS} off # RewriteCond %{HTTP_HOST} !^(www.|$) [NC] RewriteRule (.*) https://www.example.com%{REQUEST_URI} [L]
    • 在新浏览器中检查我更新的规则,并确保您只有这两条规则。
    • 很好的答案;我有一个在 https:// 上运行的 WordPress 站点,并且需要将 URL 重定向到没有 http:// 的文件夹,因为它还没有 SSL(实际上只是一个登录页面)。重要性在于规则的顺序;我在底部有http:// 重定向,这个答案强调它需要成为第一条规则。一旦我改变了它,规则就起作用了。
    猜你喜欢
    • 2012-07-11
    • 2013-10-14
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    相关资源
    最近更新 更多