Перенаправление портов .htaccess с Apache - PullRequest
0 голосов
/ 11 февраля 2010

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

  1. Возможно ли это, учитывая, что его apache прослушивает порт 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).

Ответы [ 2 ]

1 голос
/ 11 февраля 2010

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

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

0 голосов
/ 11 февраля 2010

Вам необходимо добавить Redirect в конце директивы:

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

Поиграйте с регулярным выражением, чтобы оно заработало. :)

...