【问题标题】:All my .htaccess redirects are going to index.php我所有的 .htaccess 重定向都将指向 index.php
【发布时间】:2014-09-02 12:33:53
【问题描述】:

我正在尝试将我的所有网站流量从任何 url 重定向到 https://,使用 .htaccess 文件保护 ssl。这必须匹配当前域和重定向,包括任何子 url。

我的代码:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTP_HOST} ^shop.test.com$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

我遇到的问题是所有流量都被发送到 index.php

shop.test.com/testurl

转到 - https://shop.test.com/index.php

预期 - https://shop.test.com/testurl

【问题讨论】:

    标签: php apache .htaccess mod-rewrite redirect


    【解决方案1】:

    这很可能是由于另一条规则将所有内容写入index.php 并将其用作前端控制器。

    确保将上面的规则作为第一条规则放在RewriteEngine On 行的下方。

    【讨论】:

    • 这可能是我已经拥有的代码的唯一问题,原因是我只能在实时环境中测试它
    • 是的,如果您将其作为第一条规则向上移动,您将不会再发现此问题。但是您是否看到这条规则低于实时系统中的其他规则?
    • 啊,我现在明白我的错误了,在将 apache 代码移动到我的 htaccess 文件顶部之后,规则起作用了。谢谢。
    猜你喜欢
    • 2013-08-26
    • 2016-11-30
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 2013-11-28
    • 2019-11-29
    • 2016-11-30
    相关资源
    最近更新 更多