我们有一个 magento 商店,当您在前端更改 Magento 商店视图时,它会将查询附加到我们的 URL。
IEhttp://www.domain.com/?___store=uken
有没有办法删除?___ 商店=uken使用 NGINX 配置?比如删除以以下开头的任何查询?___ 商店=。我对服务器配置和 nginx 特别陌生。
答案1
如果需要从 URL 中删除查询字符串 __store=,则必须清除变量$参数然后重写主要位置。
尝试使用此规则从 URL 中删除查询字符串:
location / {
set $args '';
rewrite ^/(.*)$ /$1 permanent;
}
或者如果你有一个如下的网站网址:http://www.mystore.com/shop/index.php?__store=en您可以使用以下方式重写新位置:
location /shop {
set $args '';
rewrite ^/shop/(.*)$ /shop/$1 permanent;
}
答案2
如果要从多个参数中删除特定参数:
if ($request_uri ~ "([^\?]*)\?(.*)_=([^&]*)&?(.*)") {
set $original_path $1;
set $args1 $2;
set $unwanted $3;
set $args2 $4;
set $args "";
rewrite ^ "${original_path}?${args1}${args2}" permanent;
}