所以我在WordPress安装的背面设置Magento安装;所以:
网站的所有元素除了目录都是通过WordPress处理的。 Magento 仅处理目录。
该网站将完全本地化为英国,欧洲其他国家和美国市场。在WordPress上,我已经使用qTranslate插件有效地实现了这一点,所以以下所有内容都有效:
在Magento,我创建了3个店面并使用配置我设法使它们显示为:
但是,为了保持一致性,我希望第一个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 /中会产生预期的效果,会加载UK magento店面主页,root.level / uk / shop / xyz.html具有所需的行为。问题是商店页面上的链接仍然指向root.level / shop / xyz.html。如何使链接反映重写的URL?
我已尝试进入Magento 管理员 - &gt;系统 - &gt;配置,将范围设置为相关商店前面,然后在 Web 下更改&#34;链接网址&#34; (在安全和不安全下)并且当它更正链接时,它会在该店面上创建每个页面404(包括主页)。我需要编辑Magento的URL阅读行为吗?
编辑: 所以这很奇怪。我已经在/ eu / shop /和/ us / shop /上工作但是/ uk / shop /仍在返回404s。我认为这是因为英国被设定为违约,但改变似乎并不影响事情。有什么想法吗?
答案 0 :(得分:0)
您可以使用此.htaccess
来使其正常工作:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
# Redirect old /shop/uk/ to new /uk/shop
RewriteCond %{THE_REQUEST} ^/shop/([a-z]{2})(.*)$ [NC]
RewriteRule ^ %1/shop/%2 [R=302,L]
# Load the right file for new /uk/shop
RewriteRule ^([a-z]{2})/shop/(.*)/?$ /shop/index.php?___store=$1 [L]
RewriteRule ^([a-z]{2})/shop/?$ /shop/index.php?___store=$1 [L]
</IfModule>