0

我正在使用安装在 /products 子目录中的 OpenCart 1.5.4。我在根目录中安装了一个 wordpress 站点。我将它们的皮肤相同,因此它看起来像同一个站点。

我想重写主页链接的所有实例(尤其是面包屑)以转到我的根目录(而不是我的 OC 安装所在的子目录 (/products))。

根据一些研究,我了解到最好的方法是在 HTACCESS 文件中。我对操作 htaccess 文件非常陌生。标准 htaccess 文件具有以下重写规则:

RewriteBase /
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] 

如何添加规则以更改主页链接:

www.myurl.com/products/index.php?route=common/home

至:

www.myurl.com/

最后,在当前安装中,此文件称为 .htaccess.txt。我是否必须从服务器中删除此文件,删除 .txt 并上传名为 .htaccess 的文件才能使其正常工作?

4

3 回答 3

0

您不能http://www.myurl.com/同时为 Wordpress 和 OpenCart 使用 URL,因为它们都使用 index.php 文件。您可以使用一种解决方法来使事情看起来更好:

您需要.htaccess在您的网站根文件夹中有一个文件,并在该.htaccess文件中添加以下行:

RewriteEngine On

RewriteRule ^cart.php?route=([a-zA-Z0-9_-]+)$ products/index.php?route=$1

这将使您的 OpenCart 可以从 URL 访问:http://www.myurl.com/cart.php?route=common/home而不是www.myurl.com/products/index.php?route=common/home

于 2012-12-31T01:33:55.513 回答
0

你的设置和我的设置一样,是这样的……

  • 根目录中的自定义 HTML - hxxp://mysite.loc/
  • /store 文件夹中的 OpenCart - hxxp://mysite.loc/store

我有一个类似于 Jay Gilford 在他的回答中提到的 mod。
所以我的 OC 链接是

http://mysite.loc/store


代替


http://mysite.loc/store/index.php?route=common/home

使用此设置,您仍然可以从任何商店链接的面包屑路径中找到主页链接。喜欢Home > Category > Product

就我而言,我所做的是,我已将Home文本重命名为Store文本。并从 OC 菜单中删除了Home Link 菜单。这很简单,但我认为很实用。

然后我将我的主页链接添加到面包屑路径和我的 OC 菜单。所以我的面包屑轨迹是这样的......

Home > Store> Category > Product

主页链接被硬编码到包含面包屑的每个 .tpl 页面。就像catalog/view/theme/default/template/product/product.tpl. 您可以通过将面包屑放在标题中来进一步修改它。

就我而言,我已将其硬编码到我的
catalog/view/theme/default/template/product/product.tpl和其他相关.tpl文件中

<div class="breadcrumb">
  <a href="/">Home</span></a>&raquo;
  <?php foreach ($breadcrumbs as $breadcrumb) { ?>
  <?php echo $breadcrumb['separator']; ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a>
  <?php } ?>
</div>

Home我通过这样做重命名了原始链接;

 changed
 $_['text_home']   = 'Home';

 to

 $_['text_home']   = 'Store';//Or whatever you like

 from the file. catalog/language/english.php - in my case.

我知道这是几个月前问过的,只是为未来的读者发布这个

于 2013-11-19T05:57:48.283 回答
0

要删除此处index.php?route=common/home指南。至于 .htaccess 代码,您需要将其上传到您的 opencart 安装目录并.txt从名称中删除 ,使其变为.htaccess

于 2012-12-30T22:02:24.940 回答