• BUG建议
  • https重定向问题,希望老大进来帮忙解决一下。

我的域名开通了https,如果在不改动原有的web.config情况下,访问https://是正常的。

折腾了几天,修改web.config配置,为了http强行跳转https,有个问题一直没解决。

                <rule name="http redirect to https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                  <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
                <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/index.php?s={R:1}" />
                </rule>
            </rules>
        </rewrite>


这样修改后,可以强行跳转到https,但是,URL后面一直会有“index.php?s=”这样的尾巴!要如何隐藏?还是说我跳转之后,已经不是伪静态了?


如果我这样写“https://{HTTP_HOST}/{R:1}”,就会出错,重定向失败!所以必须得这样:“https://{HTTP_HOST}/index.php?s={R:1}”,感觉这样写是不是伪静态已经失效?而且还一直有个尾巴“index.php?s=”

优先级调整一下,把https判断放最上


add 优化后只有三行了,怎么放都一样。再往上放就出错

不要用代码编辑器去添加,用iis.里的功能去添加 。

老大,我放弃了,这个HTTPS让我欲哭无泪,折腾一个通宵!因为,改成HTTPS后后台不能登录,也不能注册会员,我就改回HTTP原路,结果全站CSS瘫痪,样式错位。然后,我到处清空缓存,清除CND缓存。还是不行,我就以为数据库里面也有缓存问题!复位前天的数据库,也还是不行。我后来不覆盖数据库论坛程序重装,IIS重新指向目录。最后,样式才正常了。这SSL以后再不敢碰了。

百度搜索资料,发现wordpress,DZ一些系统也碰到过SSL问题,他们都在某些文件里面添加$_SERVER['HTTPS'] = 'on';define('FORCE_SSL_LOGIN', true);define('FORCE_SSL_ADMIN', true);但是,HYPHP没有相关资料,不知道加在哪里。