Назад | Перейти на главную страницу

Перезаписать доменное имя URL при использовании IP-адреса

Мой домашний сервер apache прослушивает HTTP-запросы на альтернативном порту (порт 8080), но я хотел бы позволить пользователям вводить мое доменное имя (example.com) без необходимости указывать порт.

До сих пор я делал это через своего DNS-провайдера, который перенаправляет любые запросы на www.example.com или example.com на http://123.456.789.001:8080

Это проблема, потому что, хотя это работает, пользователи получают уродливое число в строке URL. Я бы хотел переписать 123.456.789.001:8080 на example.com

Я пробовал читать http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html, но я не эксперт в написании URL-адресов, и я придумал (и что, очевидно, не работает):

RewriteEngine on
RewriteCond %{HTTP_HOST} =123.456.789.001
RewriteRule ^(.*) example.com/$1

который я поместил в свой файл httpd.conf.

В вашей ситуации вы не можете добиться того, чего хотите. Есть 3 решения (в порядке «доброты»).

  1. Попросите вашего интернет-провайдера открыть порт 80.

  2. Возьмите где-нибудь сервер и настройте его с обратным прокси (с Apache или чем-то еще).

  3. Вместо перенаправления используйте фрейм для «инкапсуляции» страницы.

Вы не можете показать поддельное имя хоста или порт в адресной строке клиента.