【发布时间】:2015-10-21 09:13:33
【问题描述】:
我想删除一个查询字符串,但仅适用于以下 6 种情况,绝不适用于任何子文件夹/其他 url。
http://www.example.com/?___store=de&___from_store=de
http://www.example.com/?___store=de&___from_store=en
http://www.example.com/en/?___store=de&___from_store=en
http://www.example.com/en/?___store=de&___from_store=en
http://www.example.com/en/?___from_store=en
https//www.example.com/en/?___from_store=de
这是我已经得到的。它正在工作,但是从所有 url 中删除了我不想要的查询字符串。
RewriteCond %{QUERY_STRING} /?___store=de&___from_store=de
RewriteRule ^(.*)$ /$1? [L,R=301]
RewriteCond %{QUERY_STRING} /?___from_store=de
RewriteRule ^(.*)$ /$1? [L,R=301]
RewriteCond %{QUERY_STRING} /?___store=de&___from_store=en
RewriteRule ^(.*)$ /$1? [L,R=301]
RewriteCond %{QUERY_STRING} /?___from_store=en
RewriteRule ^(.*)$ /$1? [L,R=301]
我需要这个针对 Magento 商店的特定重写规则。默认商店的商店视图代码被此扩展删除:Knectar/Magento-Store-Codes,另见:Magento remove store code for default store view。 结果,___store 查询参数被添加到 url,但仅在 root 上。
我上面的解决方案不起作用,因为当涉及到产品/类别时,语言切换不再正常工作(并且无需删除字符串,因为它已被 Magento 本身剥离)。
【问题讨论】:
标签: .htaccess magento mod-rewrite query-string url-redirection