Перенаправление портов.htaccess с Apache

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

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

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

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

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

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

РЕДАКТИРОВАТЬ:

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

[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 ответа

Решение

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

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

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

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

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

Другие вопросы по тегам