0

在线商店基于 OC 2.2.0.0。该站点已在所有级别上正确安装和实施了 ssl。

问题是头部下拉菜单中的类别链接仍然是 http:// ,点击后会成功通过 301 重定向到 https:// 版本。

这不是 SEO 的最佳方式,所以我的目标是简单地将链接更改为 https:// 并为所有内部链接提供 200 响应代码。

拉取链接并在下拉菜单中设置它们的代码是:

        <nav id="menu" class="navbar"> <!-- add class name as 'mega-menu' 
        LIKE class="mega-menu" -->
        <div class="navbar-header collapsed" data-toggle="collapse" data- 
        target=".navbar-ex1-collapse"><span id="category" class="visible-xs"><?php echo $text_category; ?></span>
    </div>
    <div class="collapse navbar-collapse navbar-ex1-collapse">
      <ul class="nav navbar-nav">
<?php //print_r($categories); ?>
        <?php foreach ($categories as $category) { ?>
        <?php if ($category['children']) { ?>
            <li class="dropdown"><a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>

            <div class="dropdown-menu">
            <div class="dropdown-inner">
              <?php foreach (array_chunk($category['children'], ceil(count($category['children']) / $category['column'])) as $children) { ?>
                <ul class="list-unstyled childs_1 <?php if($category['column']<=1) echo 'single-dropdown-menu'; else echo 'mega-dropdown-menu'; ?>">

                <?php foreach ($children as $child) { ?>
                    <!-- 2 Level Sub Categories START -->
                    <?php if ($child['childs']) { ?>
                      <li class="dropdown"><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a>

                          <div class="dropdown-menu">
                          <div class="dropdown-inner">
                          <?php foreach (array_chunk($child['childs'], ceil(count($child['childs']) / $child['column'])) as $childs_col) { ?>
                            <ul class="list-unstyled childs_2">
                              <?php foreach ($childs_col as $childs_2) { ?>
                                <li><a href="<?php echo $childs_2['href']; ?>"><?php echo $childs_2['name']; ?></a></li>
                              <?php } ?>
                            </ul>
                          <?php } ?>
                          </div>
                          </div>

                      </li>
                    <?php } else { ?>
                      <li><a href="<?php echo $child['href']; ?>"><?php echo $child['name']; ?></a></li>
                    <?php } ?>
                    <!-- 2 Level Sub Categories END -->

有没有办法将所有内部链接重写为以 https:// 而不是 http:// 开头

OC的管理区没有这个选项。

据我所见,商店使用自定义主题。

如果需要,我可以提供任何代码。

提前致谢!

4

1 回答 1

0

正确编码的主题应该从配置文件中选择,OpenCart 中有 2 个:

{web root}/config.php
{web root}/admin/config.php

用 https 替换所有 http 实例,清除所有缓存并重试。

如果这不起作用,则意味着您的主题编码错误但并没有丢失,您可以用任何好的 IDE 替换主题文件夹中所有文件中的“http://”(Notepad++ 可以做到这一点,我使用IDE 称为 Kate,它非常出色并且可以做到这一点)。

您的主题文件夹将位于:

{web root}/catalog/view/theme/{your theme name}

您可以将“http://”替换为“https://”,或者,如果您将来可能想切换回 http,您可以将“http://”替换为“//”,这会告诉浏览器使用与当前页面相同的协议,因此更加灵活和动态。

于 2019-03-27T11:27:16.763 回答