Xcart is a fairly popular e-commerce shopping cart program, and one of the add-on modules that you can buy from a third party company is called CDSEO. This rewrites all of the links to be SEF using a folder-style syntax instead of the regular ?variable=value syntax.
However, it causes some problems with X-Cart. One such problem is the Review Product form on the product detail page (product. php).
To fix this bug, you need to add hidden fields to the form instead of having them inside the form’s “action”.
In other words, change:
<form method=”post” action=”/product.php?mode=review&productid={$product.productid}” id=”reviewform”>
To:
<form method=”post” action=”/product.php?productid={$product.productid}” id=”reviewform” method=”post”>
<input type=”hidden” name=”productid” value=’{$product.productid}’ />
<input type=”hidden” name=”mode” value=”review” />
Next, you’ll need to edit vote.php at the document root of your Xcart install and add a slash at the beginning of the link.
So change:
func_header_location(”product.php?productid=$productid”);
to:
func_header_location(”/product.php?productid=$productid”);
This is because the CDSEO module creates a pseudo-directory and thus your browser thinks that it’s in that folder and tries to redirect you to the wrong path.