2009-04-26 9 views
2

Comment rediriger www.foo.com/bar vers www.foo.com:8080 sans changer "vraiment" l'URL dans la barre d'URL?Comment rediriger www.foo.com/bar vers www.foo.com:8080 sans changer d'URL?

Je veux www.foo.com/bar (+ paramètres/sous-dossiers GET possibles) à afficher toujours dans la barre d'URL.

cela peut-il être fait avec mod_rewrite?

+0

Pourriez-vous expliquer plus en détail exactement pourquoi vous voulez que la barre d'adresse ne montre pas la vraie URL? Fondamentalement, vous contournez l'une des fonctionnalités de sécurité les plus visibles d'un navigateur. Je ne suis pas sûr que ce soit une bonne idée, je pense que beaucoup de gens pensent dans le même sens, et je suis sûr que beaucoup d'autres seraient enclins à aider s'ils sont convaincus que vous n'essayez pas de faire quelque chose de maléfique. –

+0

Rien de mal ne peut être fait ici - les utilisateurs n'ont pas d'importance sur le plan de la sécurité, mais ils risquent de paniquer s'ils voient: 8080 parce qu'ils ne savent pas ce que cela signifie. – ceejayoz

+0

Bien sûr, c'est important. * Je * serait certainement flipper si je pensais que je parlais à doj.gov sur le port privilégié 80, mais plus tard découvert que j'avais parlé au port non privilégié 8080. Je devrais peut-être reformuler: wrap-per, voulez-vous * client- côté * "cacher" (mal), ou une solution côté serveur (ok)? –

Répondre

5

Vous avez besoin d'un proxy (mod_proxy) pour ce faire. Voici un exemple avec mod_rewrite’s RewriteRule:

RewriteCond %{SERVER_PORT} ^80$ 
RewriteRule^http://%{HTTP_HOST}:8080%{REQUEST_URI} [P] 
+0

Cela fonctionnera mais si l'objectif est d'empêcher le client de se connecter sur le port 80, cela ne sert à rien. –

+0

@Spencer Ruport: Correction du problème. – Gumbo

+0

Vrai mais je ne suis pas sûr à quoi bon cela ferait. Port 80 serait encore bloqué et ce ne serait pas contourner les pare-feu puisque les paquets clients seraient encore sortir sur le port 80. –

2

Non, il ne peut pas. Le: 8080 indique au navigateur quel port connecter au serveur. S'il n'est pas présent, il prend la valeur par défaut pour le préfixe de protocole que vous avez (http = 80, https = 443, ftp = 21, etc.)

1

La raison pour cela est probablement comme mon cas. serveur web d'accueil et les blocs de routeur port 80 comme les paramètres de fefault page pour le routeur, donc afin d'exécuter Xampp dans mon cas j'utilise le port 8080