【问题标题】:Problems redirecting http to https in htaccess在 htaccess 中将 http 重定向到 https 的问题
【发布时间】:2018-03-30 16:36:43
【问题描述】:

我正在将 WordPress 网站转换为 https,但在 htaccess 中进行自动重定向时遇到问题。我可以让主页重定向,但没有别的。我正在使用:

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://selfreliantschool.com/$1 [R=301,L]

我也试过了:

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://selfreliantschool.com/$1 [R=301,L]

但是除了主页之外的任何东西都不能工作。这是主页:http://selfreliantschool.com,这是另一个页面:http://selfreliantschool.com/christmas-gift-bootcamp/。第一个有效,第二个无效。有什么建议吗?

【问题讨论】:

    标签: wordpress .htaccess ssl redirect https


    【解决方案1】:

    试试这个:

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 您的托管情况如何?您可以访问实际的 Apache 配置文件吗?如果你把指令放在那里而不是放在 .htaccess 文件中呢?
    【解决方案2】:

    在常规 -> 设置中检查您的 URL。如果这不起作用,请查看您的 wp-config 文件以查看 home 和 siteurl 是否被覆盖。

    define('WP_HOME','https://example.com');
    define('WP_SITEURL','https://example.com');
    

    【讨论】:

    • 这是我做的第一个转换步骤,切换这两个设置。
    【解决方案3】:

    放弃 htaccess 路由并安装一个插件(真正简单的 SSL)来修复重定向问题。

    【讨论】:

      【解决方案4】:

      我会下载您的 SQL 文件并查找并替换 http 到 https

      您可以在 Notepad++ 或 Sublime 等代码编辑器中执行此操作,您可以使用快捷键 Ctrl + H

      然后只需删除原始 SQL 表并插入已编辑的。

      但请先备份 - 其他人可能有不同的解决方案,只有在您有信心的情况下才执行上述操作

      【讨论】:

      • SQL 数据库与重定向有什么关系?无论如何,页面上的内容已经被转换,如果您通过显式输入 https 访问页面,它会显示为安全的。
      • @BillOsuch 因为 wordpress 将 url 存储在 sql 文件中,我猜这与他正在实施的 htaccess 重定向相冲突。他实际上并没有重定向网站,只是将其更改为 https,因此简单的重定向不适用于他想要做的事情。
      • 不,db中的每个http:实例都已经改成了https:,包括wp_posts的guid列
      • 你是如何改变每个 http 实例的?
      • 我问这个是因为您不仅有需要更改的 guid - 查找和替换是我找到的最简单的选项,而且您不必知道所有需要更改的实例在哪里.如果您通过 SQL 查询执行此操作,那么这些是需要更改的实例。 wp_options = option_value wp_posts - guid, wp_posts - post_content, wp+postmeta - meta_value,希望对您有所帮助,但您的 .htaccess 文件似乎不是问题,我认为这显然是其他问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      • 2015-10-28
      • 2019-03-10
      • 2017-01-01
      • 1970-01-01
      相关资源
      最近更新 更多