2015-09-29 27 views
0

我有一個Web應用程序,它接受來自桌面應用程序的上載。在配置中,用戶指定要上傳的服務器路徑的URL。如果在URL中的主機名/端口之後存在雙斜線,則會剝離爲單斜槓

我的問題是,如果用戶在URL配置中包含尾部斜槓,它最終會破壞發佈功能。如果在主機名/端口之後存在,我該如何剝去一個雙斜線?這種情況的原因是我們在URL中對特殊字符進行了編碼,包括前向和反向。

例如,在桌面配置

http://sub.company.com 
http://localhost:8888 
http://sub.company.com/ 
http://localhost:8888/ 

我們有附加因此上述的URL來發布REST URL實際上

http://sub.company.com/server/rest/publish --> Valid, no trailing slash in config 
http://localhost:8888/server/rest/publish --> Valid 
http://sub.company.com//server/rest/publish --> Returns a 404 
http://localhost:8888//server/rest/publish -- Returns 404 

是否有一個正則表達式來剝離雙斜槓並在主機名/端口後插入單斜槓?

回答

0

像這樣將匹配行那裏是在位置上的雙斜線你正在尋找它

(https?://[^:]*[:0-9]*)//(.*) 

可以再用

\1/\2 
更換
相關問題