2012-10-25 32 views
0

我有一個XPage以URL參數的形式將信息傳遞給另一個XPage(這很重要,因爲SEO)。我可以使用:java.net.URLEncoder.encode來編碼URL,然後我可以在我的參數值中添加&符號,我可以使用param.get()來獲取值而不解碼它們。這可以正常工作,但是當我將它與服務器端替換結合使用時,它無法按預期工作,它會將&符號恢復爲正常的&符號而不是%26。任何想法都會在這裏真正感激?由於SEO,服務器端替代也很重要。XPages - 在URL查詢字符串中使用&符號

更新:

這是提交前的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 
+0

你可以做一個例子,你的XPages重定向後負荷,而不是使用替代。 –

+0

謝謝托馬斯 - 但我不確定搜索引擎是否會爲此感到高興。 – pipalia

+0

你有一個在替換之前/之後的URL的例子嗎? –

回答

0

我面臨同樣的問題,但我搜索(發現)不同解。我不需要替換,我不使用QueryString,谷歌顯然不介意。

我使用這種類型的URL:

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

取而代之的是查詢字符串的,我通過

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

已創建這樣的正確索引的網站的網頁獲得擴展信息Google和Bing。我們對網頁排名並不完全滿意,但這是一個不同的話題。

這裏是website和的extended URL

+0

非常感謝D.Bugger--這是一個非常有趣的解決方案。對於這個特定問題,我們暫時將URL中的「水果和蔬菜」轉換爲「水果和蔬菜」,然後在顯示時,我使用@Replacesubstring替換並使用&,並且客戶現在對該解決方案感到滿意。 – pipalia

+0

你試過&嗎? –

+0

我真的很喜歡你的解決方案,但客戶希望URL看起來很自然,而不是使用notes db路徑。剛剛試過&,那也不管用。我很滿意這個解決方案,我在UI中用「&」替換「和」(我尋找「和」包括空格以確保部分單詞不被替換)。 – pipalia