Ce serait bien si ça pouvait marcher, et je ne vois pas pourquoi ça ne marcherait pas parce que :
est un caractère réservé pour la séparation des ports à l'intérieur du composant URI. Le navigateur pourrait donc, de manière réaliste, l'interpréter comme un port relatif à cette URL, mais malheureusement il ne le fait pas et il n'y a aucun moyen pour lui de le faire.
Vous aurez donc besoin de Javascript pour le faire ;
// delegate event for performance, and save attaching a million events to each anchor
document.addEventListener('click', function(event) {
var target = event.target;
if (target.tagName.toLowerCase() == 'a')
{
var port = target.getAttribute('href').match(/^:(\d+)(.*)/);
if (port)
{
target.href = window.location.origin;
target.port = port[1];
}
}
}, false);
Testé dans Firefox 4
Violon : http://jsfiddle.net/JtF39/79/
Mise à jour : Correction du bogue pour l'ajout du port à la fin de l'url et ajout de la prise en charge des urls relatives et absolues à ajouter à la fin :
<a href=":8080/test/blah">Test absolute</a>
<a href=":7051./test/blah">Test relative</a>
0 votes
stackoverflow.com/questions/8317059/chemin relatif-mais-pour-port Regarde ça... ça a marché pour moi.
0 votes
Parce que beaucoup de gens en dessous se sont empilés avec des solutions côté serveur, le NGINX
$http_host
var fonctionne, par exemple :return 200 '<html><body><iframe id="ic" src="http://$http_host:2812/"></iframe></body></html>
c'est-à-dire dans un/etc/nginx/conf.d/strange.conf
fichier.