2010-02-10 3 views
0

Я хочу перенаправить http://www.mydomain.com/service на номер http://www.mydomain.com:PORT где PORT - это порт услуги, который будет обслуживать страницы..htaccess перенаправление портов с Apache

  1. ли это возможно, учитывая, что это апач, который прослушивает порт 80 так, который будет выполнять перенаправление, и это неродственный сервис, который прослушивает PORT?

  2. Что такое синтаксис? Я пробовал такие вещи, как:

    RewriteRule ^service$ http://www.mydomain.com:PORT

    , но я получаю только внутреннюю ошибку сервера в 500.

Спасибо за помощь.

EDIT:

Как Винко предложил есть некоторые полезные строки в журнале ошибок:

[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 

Который пришел от линии:

Option +FollowSymlinks 

Сейчас он работает, но ... адрес меняется, и я бы хотел этого. Я хотел бы иметь такое же поведение, как с классическим перенаправлением, где изменение адреса прозрачно (например, mydomain.com/service > mydomain.com/?var=service).

ответ

1

Ошибка 500 указывает на то, что mod_rewrite не включен. Проверьте журнал ошибок, чтобы проверить теорию и, если нужно, загрузить модуль в свою конфигурацию.

Если это неверно, отредактируйте вопрос с ошибкой в ​​журнале. Каждая ошибка 500 имеет соответствующую строку в журнале ошибок.

0

Вам нужно добавить Перенаправление в конце директивы:

RewriteRule ^service$ http://www.mydomain.com:PORT [R] 

Play с регулярным выражением, чтобы получить его работу, хотя. :)

+1

Флаг R подразумевается, если URL-адрес начинается с http: //, поэтому его не нужно использовать –