【问题标题】:redirect http://www.example.com/ to https://www.example.com/ with htaccess使用 htaccess 将 http://www.example.com/ 重定向到 https://www.example.com/
【发布时间】:2019-08-06 09:45:20
【问题描述】:

我正在使用它作为解决方案。

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} off
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

但我不断收到此错误。 “并非所有版本的页面都指向同一个 URL。” 只有包含“http://www.example.com/”的 URL 不会重定向到“https”,但所有重定向都正确。

【问题讨论】:

  • 你在config.php改了吗?
  • 多个 RewriteCond 与隐式 AND 连接(除非您另外指定,请使用 OR 标志。)您要求 HTTP_HOST 不为空且不以 www. 开头且请求还不是 HTTPS。请求http://www.example.com/ 在第二种情况下失败。
  • “但我不断收到此错误” – 此错误报告在哪里?浏览器?服务器日志?一些第三方工具?
  • 我在 woorank 上检查了我的网站排名,显示此错误“并非所有版本的页面都指向同一个 URL”
  • @hemant 我需要在 config.php 中进行哪些更改?

标签: php .htaccess codeigniter


【解决方案1】:

你可以这样做

RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

【讨论】:

  • 试过了,但现在当我尝试打开我的网站时,它无法正常工作......我错过了什么吗?或者我还需要在其他地方进行更改的东西,例如。在 config.php 左右,因为目前,我已将我的 base_url 设置为 'example.com' .. 请建议我是否缺少某些东西..
  • 你需要设置三件事。 1- htaccess RewriteBase 2- 高于 https 规则的 htaccess 3- application/config/config.php 中的 base_url。请分享所有代码或截图
  • /---htaccess---/ RewriteCond $1 上的 RewriteEngine !^(index\.php|resources|robots\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} ! -d RewriteRule ^(.*)$ index.php/$1 [L,QSA] RewriteCond %{HTTPS} !=on RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] #将“ea-php56”包设置为默认的“PHP”编程语言。 AddHandler application/x-httpd-ea-php56 .php .php5 .phtml # php -- END cPanel 生成的处理程序,不要编辑 /---config---/ $config[' base_url'] = 'example.com';
  • 请发邮件至ping@naveedramzan.com
  • 请检查您的电子邮件。
猜你喜欢
  • 1970-01-01
  • 2017-06-18
  • 1970-01-01
  • 2020-12-21
  • 2014-03-04
  • 1970-01-01
  • 2017-10-26
  • 1970-01-01
  • 2016-01-16
相关资源
最近更新 更多