Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在<;中更改URL;a>;在Opencart 2.x中自动搜索引擎优化?_Php_.htaccess_Mod Rewrite_Seo_Opencart2.x - Fatal编程技术网

Php 如何在<;中更改URL;a>;在Opencart 2.x中自动搜索引擎优化?

Php 如何在<;中更改URL;a>;在Opencart 2.x中自动搜索引擎优化?,php,.htaccess,mod-rewrite,seo,opencart2.x,Php,.htaccess,Mod Rewrite,Seo,Opencart2.x,我使用的是Opencart 2.x版本,商店安装在/shop子目录中。 我知道如何启用seo_url(.htaccess.txt->.htaccess,将RewriteBase设置为/shop/并在管理面板中启用seo url) Seo URL有效,我的链接如信息/information\u id=1更改为/faq等 问题是,如果我添加url_别名表记录:information/contact=contact-此url有效,但在站点上它看起来仍然像/shop/index.php?route=in

我使用的是Opencart 2.x版本,商店安装在/shop子目录中。 我知道如何启用seo_url(.htaccess.txt->.htaccess,将RewriteBase设置为/shop/并在管理面板中启用seo url)

Seo URL有效,我的链接如
信息/information\u id=1
更改为
/faq

问题是,如果我添加url_别名表记录:
information/contact=contact
-此url有效,但在站点上它看起来仍然像
/shop/index.php?route=information/contact
而不是
/shop/contact

我认为应该自动更改,但不是。网站上所有关于产品、类别和信息页面的链接都已更改,但这是我手动添加的,不是。为什么?


PS:我可以在代码中更改它,但认为这不是一个好的解决方案,因为假设存在正确的方法来做我需要的事情。

前端的非SEO友好URL(其中包含index.php?route=的URL)出现在哪里?如果已将任何内容复制/粘贴到模板中的标记中,它们将保持原样。Opencart还有各种重定向和硬编码到它的控制器文件中的东西,这些文件可能重定向到这样的URL。因此,这取决于这些链接在您的网站上的位置。

我不确定您是否已经得到了问题的答案,但我还是会把它留在这里,因为我花了几天时间才弄清楚这个问题

要从
/index.php?route=information/contact
更改为仅
/contact
,需要两个步骤

(您可能已经准备好了步骤1)

  • 在OC数据库中执行以下插入。这涵盖了所有(至少对于2.1.0.1而言)现在允许SEO设置的系统页面。您可以将关键字更改为您觉得更合适的任何内容
  • 插入url\u别名(查询,关键字)值('common/home','');
    在url_别名(查询,关键字)中插入值('account/wishlist','wishlist');
    在url_别名(查询,关键字)中插入值(“帐户/帐户”、“我的帐户”);
    在url_别名(查询,关键字)中插入值('checkout/cart','shopping cart');
    在url_别名(查询,关键字)中插入值(“签出/签出”,“签出”);
    在url_别名(查询、关键字)中插入值(“帐户/登录”、“登录”);
    在url_别名(查询,关键字)中插入值(“帐户/注销”,“注销”);
    在url_别名(查询、关键字)中插入值(“帐户/订单”、“订单历史记录”);
    在url_别名(查询、关键字)中插入值(“帐户/新闻稿”、“新闻稿”);
    在url_别名(查询,关键字)中插入值('product/special','specials');
    在url_别名(查询,关键字)中插入值(“附属公司/帐户”、“附属公司”);
    在url_别名(查询,关键字)中插入值(“结帐/凭证”、“礼品券”);
    在url_别名(查询,关键字)中插入值(“产品/制造商”、“品牌”);
    在url_别名(查询、关键字)中插入值(“信息/联系人”、“联系我们”);
    在url_别名(查询,关键字)中插入值('account/return/INSERT','request return');
    在url_别名(查询、关键字)中插入值(“信息/站点地图”、“站点地图”);
    在url_别名(查询、关键字)中插入值(“帐户/忘记”、“忘记密码”);
    在url_别名(查询、关键字)中插入值(“帐户/下载”、“下载”);
    在url_别名(查询,关键字)中插入值('account/return','returns');
    在url_别名(查询、关键字)中插入值(“账户/交易”、“交易”);
    在url_别名(查询、关键字)中插入值(“帐户/注册”、“创建帐户”);
    在url_别名(查询,关键字)中插入值(“产品/比较”,“比较产品”);
    在url_别名(查询、关键字)中插入值(“产品/搜索”、“搜索”);
    在url_别名(查询,关键字)中插入值(“帐户/编辑”,“编辑帐户”);
    在url_别名(查询、关键字)中插入值(“帐户/密码”、“更改密码”);
    在url_别名(查询、关键字)中插入值(“帐户/地址”、“通讯簿”);
    在url_别名(查询,关键字)中插入值(“帐户/奖励”,“奖励点数”);
    在url_别名(查询,关键字)中插入值(“附属机构/编辑”,“编辑附属机构帐户”);
    在url_别名(查询,关键字)中插入值(“附属机构/密码”,“更改附属机构密码”);
    在url_别名(查询,关键字)中插入值(“附属公司/付款”,“附属公司付款选项”);
    在url_别名(查询,关键字)中插入值(“附属机构/跟踪”,“附属机构跟踪代码”);
    在url_别名(查询、关键字)中插入值(“关联方/交易”、“关联方交易”);
    在url_别名(查询,关键字)中插入值(“附属公司/注销”,“附属公司注销”);
    在url_别名(查询,关键字)中插入值(“附属机构/忘记”、“附属机构忘记密码”);
    在url_别名(查询、关键字)中插入值(“附属机构/注册”、“创建附属机构帐户”);
    
    在url_别名(查询,关键字)中插入值(“附属机构/登录”,“附属机构登录”)页脚的链接,如account/order,应该是/orders,或页眉中的主菜单,我在其中看到链接:account/login(应该是/login)、account/register(我的意思是应该是/register)等。在Footer.tpl模板中,链接是什么样子的?它应该从/catalog/controller/common/footer.php获取链接。这将使用/system/library/url.php来检查“url\u alias”表。如果找不到匹配项,它会生成一个index.php?route=part的URL,我相信。你们可以看看这里-这个链接在页脚,在URL_别名中我有information/contact=contact和链接ys.kz/shop/contact-works,但问题是为什么我仍然在页脚中看到未缩短的URL?(注:对不起,网站不是英文版)