【问题标题】:apache .htaccess not redirecting to https in subfolderapache .htaccess 未重定向到子文件夹中的 https
【发布时间】:2019-03-12 02:42:22
【问题描述】:

我想在我的 .htaccess 中将 HTTP 重定向到 HTTPS,该子文件夹位于一个子文件夹中,该子文件夹将所有请求传递给我的 index.php 文件,该文件负责路由。 但我没有被重定向到我的子文件夹中网站的 HTTPS 版本。我不知道我做错了什么,我的根 .htaccess 配置正确,但我对子文件夹 .htaccess 感到困惑...... 当子文件夹中的 HTTP 时一切正常.. 而且在根级别上它也可以正常工作,我被重定向到 HTTPS,但当我转到子文件夹时却没有。

这是我的根 .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

这是我的子文件夹 .htaccess:

# This will pass the requests to index.php
DirectoryIndex index.php
RewriteEngine on
RewriteBase /SomeFolder
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)https://$ index.php [QSA,L]

还有 ZnVjayBTdGFja292ZXJmbG93

【问题讨论】:

    标签: regex apache .htaccess


    【解决方案1】:

    NoobWithGuns,

    我想我可以帮助您解决您的问题,但首先我有几个问题。 1)您是否使用虚拟主机?如果是这样,每个目录是否有不同的虚拟主机(conf 文件)? 2)您在子目录而不是根目录中使用 https 是否有明确的原因?或者你能到处使用 https 吗?

    【讨论】:

    • 我认为你没有得到我的问题伙伴
    • 根级重定向到 HTTPS,但子文件夹不会
    • 另外,是的,我在 Linux 上使用 XAMPP,当然当然还有 vhosts 文件。
    • 哦,我明白了。我很抱歉,我认为我第一次没有理解你的问题。你可以使用 "RewriteEngine On # 这将启用重写功能 RewriteCond %{SERVER_PORT} 80 # 这会检查连接是否为 http。RewriteRule ^(.*)$ example.com/$1 [R=301,L] # 这个规则将用户从他们的原始位置重定向到相同的位置,但如果他们尝试 http,则使用 HTTPS。"
    • 您还可以在您的 apache security.conf 文件中设置 hsts 标头。 “标头始终设置严格传输安全”max-age=63072000; includeSubDomains”。这将强制 https 覆盖根和任何子域。
    猜你喜欢
    • 2019-08-01
    • 2011-06-13
    • 1970-01-01
    • 2019-06-21
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    相关资源
    最近更新 更多