加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 在CakePHP .htaccess中强制使用SSL WWW

发布时间:2020-12-14 05:56:46 所属栏目:百科 来源:网络整理
导读:我知道经常讨论和解决“如何强制HTTPS WWW”这个主题,一般来说它对我有用. 但是,由于我现在从CakePHP获得了一个特定的预定义.htaccess,我不知道如何包含它. CakePHP的.htaccess: RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST
我知道经常讨论和解决“如何强制HTTPS WWW”这个主题,一般来说它对我有用.

但是,由于我现在从CakePHP获得了一个特定的预定义.htaccess,我不知道如何包含它.

CakePHP的.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$index.php?url=$1 [QSA,L]

如果我将HTTPS / WWW强制的正常代码放在该代码的前面或后面,它就无法正常工作,因为所有请求都设置为根目录而不是例如/联系.

通常我正在使用:

RewriteCond %{HTTPS} !on [OR]
RewriteCond %{HTTP_HOST} !^www.mydomain.com$[NC]
RewriteRule ^ https://www.mydomain.com%{REQUEST_URI} [R=301]

但你不能只包括上面……

有人可以帮助我,包括HTTPS / WWW强制在上面.htaccess?

解决方法

通用方式是:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f    
    RewriteRule ^(.*)$index.php [QSA,L]
</IfModule>

无需硬编码域名.从http切换到https时,请求也不会重定向到root

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读