Php HTTP到HTTPS重定向问题

Php HTTP到HTTPS重定向问题,php,apache,https,Php,Apache,Https,我想将http请求重定向到https节点 我试过了 RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 请在下面找到我执行的几个测试结果 重定向到 //工作如期进行 未重定向到 //没有按预期工作 编辑:这是我的.htaccess文件 <IfModule mod_rewrite.c> <IfModule mod_negotiatio

我想将http请求重定向到https节点

我试过了

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
请在下面找到我执行的几个测试结果

重定向到

//工作如期进行

未重定向到

//没有按预期工作

编辑:这是我的
.htaccess
文件

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    #Options +FollowSymLinks
    RewriteEngine On

    RewriteRule ^(api-docs|docs)($|/) - [L] # HERE IS THE PROBLEM I THINK

    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # redirect all http -> https
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

</IfModule>

选项-多视图
#选项+FollowSymLinks
重新启动发动机
重写规则^(api文档|文档)($|/)-[L]#我认为这就是问题所在
#重定向尾部斜杠。。。
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
#重定向所有http->https
重写cond%{HTTPS}!在…上
重写规则(*)https://%{HTTP\u HOST}%{REQUEST\u URI}

请告诉我如何实现或修复此问题。

我成功地使用了以下规则,请注意正则表达式模式的差异

RewriteRule ^(.*)$ https://domainname/$1 [R,L]
ApacheWiki


我编辑了这个问题以包含.htaccess文件。请注意“这是我认为的问题”这句话。我用过这句话,但不适用于我的情况。我已编辑该问题以包含我的.htaccess
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L]