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.

  1. E 'possibile dato che è apache che è in ascolto sulla porta 80 in modo che eseguirà il reindirizzamento, ed è un servizio indipendente che è in ascolto su PORT?

  2. 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).

È stato utile?

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ò. :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top