0

我有一个 XPage,它以 URL 参数的形式将信息传递给另一个 XPage(由于 SEO,这很重要)。我可以使用:java.net.URLEncoder.encode对 URL 进行编码,然后我可以在我的参数值中使用与号,并且我可以使用它param.get()来获取值而不解码它们。这很好用,但是当我将它与服务器端替换结合使用时,它不能按预期工作,它将与符号恢复为正常的&符号而不是 %26。任何想法都会在这里受到赞赏?由于 SEO,服务器端替换也很重要。

更新:

这是地址栏中显示的提交之前的 URL(如果我们假设我的类别是水果和蔬菜):

/product-byCategory/Fruit+%26+Vegetables

服务器端替换规则是:

- /product-byCategory/*
- /mywebsite.nsf/xspProductByCat.xsp?cat=*

查询字符串值为:

cat=Fruit+&+Vegetables

有趣的是,如果我在地址栏中输入这个 URL,我会得到正确的查询字符串:

http://www.mywebsite.com/mywebsite.nsf/xspProductByCat.xsp?cat=Fruit+%26+Vegetables
4

1 回答 1

0

我遇到了同样的问题,但我搜索(并找到了)不同的解决方案。我不需要替换,我不使用 QueryString,Google 显然不介意。

我使用这种类型的 URL:

http://www.mywebsite.com/mywebsite.nsf/xspProductByCat.xsp/Fruit+%26+Vegetable

而不是QueryString,我通过

    var name= facesContext.getExternalContext().getRequestPathInfo();

以这种方式创建的网站页面被 Google 和 Bing 正确索引。我们对页面排名并不完全满意,但这是一个不同的话题。

这是网站和扩展 URL的示例

于 2012-10-28T10:36:47.127 回答