使用 IP 地址时重写 URL 域名

使用 IP 地址时重写 URL 域名

我的 apache 主服务器在备用端口(端口 8080)上监听 HTTP 请求,但我想让用户输入我的域名(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 文件中。

答案1

就你的情况而言,你无法实现你想要的。有 3 种解决方案(按“好坏”顺序排列)。

  1. 要求您的 ISP 开放端口 80。

  2. 在某处获取一个服务器并使用反向代理(使用 Apache 或其他)对其进行配置。

  3. 不要使用重定向,而是使用框架来“封装”您的页面。

答案2

您不能在客户端地址栏中显示虚假的主机名或端口。

相关内容