This happens in:
* nopCommerce version 4.2
* no custom code
Reproduce unit test (put the test into nopCommerce\src\Tests\Nop.Core.Tests\WebHelperTests.cs).
[Test]
public void Can_modify_queryString_in_virtual_directory()
{
_httpContext.Request.PathBase = "/nopCommercepath";
_webHelper.ModifyQueryString("/nopCommercepath/Controller/Action", "param1", "value1").ShouldEqual("/nopCommercepath/Controller/Action?param1=value1");
}
In image form: