【发布时间】:2014-07-16 09:11:11
【问题描述】:
所以我在 WordPress 安装的后面设置了 Magento 安装;所以在:
- root.level/ 是 WordPress
- root.level/shop/ 是 Magento
网站的所有元素,除了目录都是通过 WordPress 处理的。 Magento 仅处理目录。
该网站将针对英国、欧洲其他地区和美国市场进行完全本地化。在 WordPress 上,我使用 qTranslate 插件有效地实现了这一点,因此以下所有功能都有效:
- root.level/uk/
- root.level/eu/
- root.level/us/
在 Magento 中,我创建了 3 个店面,并使用我设法使它们显示为的配置:
- root.level/shop/uk/
- root.level/shop/eu/
- root.level/shop/us/
但是,为了保持一致性,我希望第一个 URL 段 总是 代表位置。因此,我将以下内容写入根目录(WordPress 安装)htaccess:
#shop moves
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z][a-z])/shop/(.*)[/]{0,1}$ /shop/index.php?___store=$1 [L]
RewriteRule ^([a-z][a-z])/shop[/]{0,1}$ /shop/index.php?___store=$1 [L]
</IfModule>
在 root.level/uk/shop/ 将加载英国 magento 店面主页时具有预期的效果,而 root.level/uk/shop/xyz.html 具有预期的行为。问题是商店页面上的链接仍然指向root.level/shop/xyz.html。如何使链接反映重写的 URL?
我尝试进入 Magento Admin-->System-->Config,将范围设置为相关的店面,然后在 Web 下更改“链接URL”(在 Secure 和 Insecure 下),虽然这会更正链接,但它会在该店面上创建每个页面 404(包括主页)。我需要在哪里编辑 Magento 的 URL 读取行为吗?
编辑: 所以这很奇怪。我已经在 /eu/shop/ 和 /us/shop/ 上工作了,但是 /uk/shop/ 仍然返回 404。我认为这是因为英国被设置为默认值,但改变它似乎并没有影响到事情。有什么想法吗?
【问题讨论】:
-
好吧,这很奇怪。 /eu/shop/ 和 /us/shop/ 现在都可以工作 /uk/shop/ (默认)不...
标签: php .htaccess magento url-rewriting url-routing