redirection de port .htaccess avec Apache
-
19-09-2019 - |
Question
Je voudrais rediriger http://www.mydomain.com/service
à http://www.mydomain.com:PORT
où PORT
est le port du service qui desservira les pages.
-
Est-il possible étant donné qu'il est apache qui est à l'écoute sur le port
80
donc qui effectuera la redirection, et il est un service sans rapport avec ce qui est à l'écoute surPORT
? -
Quelle est la syntaxe? J'ai essayé des choses comme:
RewriteRule ^service$ http://www.mydomain.com:PORT
mais je ne reçois que d'une erreur de serveur interne de
500
.
Merci de votre aide.
EDIT:
Vinko suggéré il y a une ligne dans le journal utile d'erreur:
[alert] [client 192.168.1.4] /path/to/the/site/root/.htaccess:
Invalid command 'Option', perhaps misspelled or defined by a module not
included in the server configuration
Ce qui est venu de la ligne:
Option +FollowSymlinks
Maintenant, il fonctionne, mais ... les changements d'adresse, et je voudrais que ce pas. Je voudrais avoir le même comportement qu'avec une redirection classique, où le changement d'adresse est transparente (par exemple mydomain.com/service > mydomain.com/?var=service
).
La solution
L'erreur 500 indique ne pas avoir mod_rewrite activé. Vérifiez le journal des erreurs pour tester la théorie et, si elle est correcte, chargez le module dans votre configuration.
Si elle est incorrecte, modifiez la question avec l'erreur dans le journal. Chaque erreur 500 a une ligne correspondante dans le journal d'erreur.
Autres conseils
Vous devez ajouter Redirect à la fin de la directive:
RewriteRule ^service$ http://www.mydomain.com:PORT [R]
Jouez avec le regex pour le faire fonctionner bien. :)