Перенаправление портов.htaccess с Apache
Я хотел бы перенаправить http://www.mydomain.com/service
в http://www.mydomain.com:PORT
где PORT
это порт сервиса, который будет обслуживать страницы.
Это возможно, учитывая, что это Apache, который прослушивает порт
80
так что будет выполнять перенаправление, и это не связанный сервис, который прослушиваетPORT
?Какой синтаксис? Я пробовал такие вещи, как:
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]
Поиграйте с регулярным выражением, чтобы оно заработало.:)