【问题标题】:Wordpress menu items are not https linksWordpress 菜单项不是 https 链接
【发布时间】:2015-09-12 22:28:30
【问题描述】:

我想在我的 wordpress 网站上使用 https 而不是 http。该站点现在正在运行 https,只有一个问题。
我过去的步骤的简短事实。

  • 将管理后端上的站点和主页 URL 从 http 更改为 https。
  • 使用搜索和替换插件并搜索 http://'url' 并将除 guid 之外的所有表和字段更改为 https://'url'。

现在的问题。 我的网站在每个页面上都通过 https 工作,但 wordpress 网站只为菜单生成 http 链接。该网站有 3 个菜单,每个菜单只有 http 菜单。为什么? Wordpress 如何生成这些链接?

【问题讨论】:

    标签: wordpress


    【解决方案1】:

    如果您从未弄清楚,我只是在最近遇到此问题并找到此问题后才这样做。

    在当前的 WP 管理员中,转到“设置”>“常规”。 然后只需在 http 后面加上 s。

    【讨论】:

    • 现在,每当我在帖子上或在我的管理员或网站的任何其他地方“编辑”时,每个最后一个 URL 都以 https 开头。
    【解决方案2】:

    根据你已经采取的行动,有两种可能的情况(假设你的菜单没有被插件定义):

    1. 菜单链接在模板文件中的硬编码不正确。

      • 如果是这种情况,您需要在活动主题(或创建子主题)中找到相关模板文件并进行编辑。在这种情况下定义硬编码链接(如果必须硬编码)的正确方法是使用模板标记函数,例如 site_url(),它会自动为链接添加正确的方案和 URL。
    2. Custom links 已在 WP-Admin 的菜单中定义。

      • 如果是这种情况,您可以前往 WordPress Admin --> Appearance --> Menus 并编辑每个菜单项中的自定义链接。

    【讨论】:

    • 感谢您的解决方案,但我的菜单仅包含 wordpress 页面。所以菜单没有绝对链接,只有由 wordpress 处理的 wordpress 页面的引用。在后端本身,页面显示为 https。这就是我问wordpress如何生成菜单链接的原因。我的主题没有硬编码链接。
    【解决方案3】:

    你有没有想过使用:-

    https://en-gb.wordpress.org/plugins/wp-force-ssl/

    这将强制您的所有内部链接使用 https://

    这与@SergeyAn 的答案相同,但您不必直接编辑 .htaccess 文件。

    【讨论】:

      【解决方案4】:

      您可以尝试像这样使用 htaccess 规则:

      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
      

      【讨论】:

      • 如果没有任何效果,这将是最后的解决方案。我更喜欢用 wordpress 本身而不是 apache 服务器来解决这个问题。感谢您的解决方案。
      • 好的)。但是,当您最终使用此解决方案时,请不要忘记标记我的答案并支持我(为了保证您的所有网址都使用 https,您将需要它):)
      • 我已将所有代表都设置为赏金。如果我有超过 5 分,我会投票给你的答案;)
      猜你喜欢
      • 2018-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-05
      • 2012-04-21
      • 1970-01-01
      • 2018-12-30
      相关资源
      最近更新 更多