【发布时间】:2011-01-26 15:38:36
【问题描述】:
我正在运行具有动态 IP 地址的 Apache2 Web 服务器。我购买了 exampledomain.net,并使用no-ip.com 的域更新服务将所有访问者重定向到我当前的 IP 地址(尾注 #1)。例如,有人访问 exampledomain.net,他们会被重定向到 73.181.57.34。它就像一个魅力。但是,它并不是那么用户友好。我可以重写重定向的 IP 地址 URL 吗?
我在根文件夹的 .htaccess 中尝试了这些重写规则...
RewriteEngine On
RewriteCond %{HTTP_HOST} ^73\.181\.57\.34:88
RewriteRule ^(.*)$ http://www.exampledomain.net/$1 [L,NC]
# I simplified the RewriteCond. I would use regex in a real situation.
当然,这会创建一个无限循环。用户访问 www.exampledomain.net。他们被 no-ip 重定向到 73.181.57.34:88。 Apache 将它们重定向到 www.exampledomain.net,后者将它们重定向回 73.181.57.34:88... 以此类推。
在重写方面我是个菜鸟,但是有没有办法在不重定向的情况下重写 URL?
我也尝试了这些重写规则(摸不着头脑)...
RewriteEngine On
RewriteCond %{HTTP_HOST} ^73\.181\.57\.34:88
RewriteRule ^(.*)$ my.exampledomain.net/$1 [L,NC]
# I'd read that Apache replied with a redirect header when you include http
当然,这不起作用,因为 my.exampledomain.net 并不真正存在。
谢谢!
(1) No-IP 的工作方式如下:您下载并在您的服务器上安装他们的动态更新客户端。每隔几分钟,它会轮询您的服务器以获取其当前的外部 IP 地址。如果它发生了变化,它会在 no-ip 的记录中更新您服务器的 ip 地址。
【问题讨论】:
标签: url url-rewriting redirect masking