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

前端之家收集整理的这篇文章主要介绍了正则表达式 – 在CakePHP .htaccess中强制使用SSL WWW前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道经常讨论和解决“如何强制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

猜你在找的正则表达式相关文章