reindirizzamento della porta .htaccess con Apache
-
19-09-2019 - |
Domanda
Mi piacerebbe reindirizzare http://www.mydomain.com/service
a http://www.mydomain.com:PORT
dove PORT
è la porta del servizio che servirà le pagine.
-
E 'possibile dato che è apache che è in ascolto sulla porta
80
in modo che eseguirà il reindirizzamento, ed è un servizio indipendente che è in ascolto suPORT
? -
Qual è la sintassi? Ho provato cose come:
RewriteRule ^service$ http://www.mydomain.com:PORT
, ma ho solo un errore del server interno
500
.
Grazie per l'aiuto.
Modifica
Come suggerito Vinko c'è qualche linea di utile nel log degli errori:
[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
che è venuto dalla linea:
Option +FollowSymlinks
Ora funziona, ma ... i cambiamenti di indirizzo, e mi piacerebbe che non farlo. Mi piacerebbe avere lo stesso comportamento che con un reindirizzamento classico, in cui il cambiamento di indirizzo è trasparente (ad esempio mydomain.com/service > mydomain.com/?var=service
).
Soluzione
L'errore 500 indica di non avere mod_rewrite abilitato. Controllare il log degli errori per verificare la teoria e, se corretta, caricare il modulo nella configurazione.
Se non è corretto, modificare la domanda con l'errore nel registro. Ogni errore 500 ha una linea corrispondente nel log degli errori.
Altri suggerimenti
È necessario aggiungere Redirect alla fine della direttiva:
RewriteRule ^service$ http://www.mydomain.com:PORT [R]
Gioca con la regex per farlo funzionare però. :)