.htaccess - HTaccess 不转发到 https
问题描述
在我的 htaccess 文件中,我有一个 rewritecond 应该将所有 http 请求转发到 https,但由于某种原因我不起作用,这不是我的专业领域,你能帮帮我吗?
我目前正在使用这个
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTPS}s on(s)|offs()
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
RewriteRule \.(gif|jpg|png|css|flv|js|swf|php|ico|webm|mp4)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+\.php)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_URI} !(\.)
RewriteCond %{REQUEST_URI} !(\.)
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} .*
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
解决方案
AND
默认情况下,这两个重写条件通过逻辑运算符连接。这意味着如果一个条件是,则不false
应用重定向规则,例如,如果主机名确实以“www.”开头......
请改用逻辑OR
运算符:
重写引擎开启
RewriteCond %{HTTP_HOST} !^www\. [OR]
RewriteCond %{HTTPS}s on(s)|offs()
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [NE,R]
推荐阅读
- java - 具有多个数据源的存储库 Bean 创建错误
- oracle - 如何删除 Oracle 12c 中的隐藏列?
- facebook - WooCommerce 添加到卡片事件和 Facebook 像素
- groovy - 带有自定义 sslContext 的 Groovy HTTPBuilder
- arrays - Angular5比较2个(JSON)对象数组并在找到匹配时拼接
- android - 如何在导航控制器中使用共享元素转换
- angular - 从 Angular 4 应用程序中,我正在使用一个 API,它返回一个字符串,中间有 '\n'
- c# - 表单在后台时图片框不刷新(非焦点)
- r - R从环境中获取对象并提供给功能
- c - 将参数传递给不同文件中的函数(gcc)