Мой домашний сервер 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 решения (в порядке «доброты»).
Попросите вашего интернет-провайдера открыть порт 80.
Возьмите где-нибудь сервер и настройте его с обратным прокси (с Apache или чем-то еще).
Вместо перенаправления используйте фрейм для «инкапсуляции» страницы.
Вы не можете показать поддельное имя хоста или порт в адресной строке клиента.