Mod rewrite 非端口80 Web服务器和漂亮的URL';s

Mod rewrite 非端口80 Web服务器和漂亮的URL';s,mod-rewrite,proxy,ip,port,Mod Rewrite,Proxy,Ip,Port,这是一个与“阻塞端口80”相关的问题,但可能有点独特。我还没有找到一个好的答案。据我所知,在你家里运行生产服务器是一个荒谬的想法,它比任何东西都更具学术性 我在家里运行一个开发服务器(LAMP),但我的ISP阻止了端口80。我的域的DNS设置为“URL重定向”到我的IP和端口号。我的路由器是端口转发到我的服务器,我已经设置了Apache,所以它正在监听端口8081 问题是,当您访问域时,浏览器中的URL将从我的域名解析为IP和端口号,并显示为这样例如,在浏览器中键入“www.banana.com

这是一个与“阻塞端口80”相关的问题,但可能有点独特。我还没有找到一个好的答案。据我所知,在你家里运行生产服务器是一个荒谬的想法,它比任何东西都更具学术性

我在家里运行一个开发服务器(LAMP),但我的ISP阻止了端口80。我的域的DNS设置为“URL重定向”到我的IP和端口号。我的路由器是端口转发到我的服务器,我已经设置了Apache,所以它正在监听端口8081

问题是,当您访问域时,浏览器中的URL将从我的域名解析为IP和端口号,并显示为这样例如,在浏览器中键入“www.banana.com”,将显示网站,但现在URL显示为“12.23.456.11:8081”。

有没有办法解决这个问题,这样域名就不会变成IP和端口号

您能以某种方式使用Apache代理功能吗

你能用mod_rewrite把IP和端口号改回域名吗


提前谢谢

这个问题有三个部分。首先是域的问题:为了用域名代替IP地址,你需要一个名称服务器,它可以将你想要的名称映射到一个地址。这是在主机级别,而不是端口级别,因此域名将包含您可能从中托管的所有端口。如果您正在使用您的家庭互联网连接(我怀疑您是因为您谈到了一个被阻止的端口),那么您需要考虑到您的公共IP地址可能会不时发生变化。您可以选择向ISP支付(或请求)静态IP,或使用动态DNS服务,该服务可以在IP地址更改时快速更新其记录

至于你的端口号。Mod_rewrite只处理URL的路径部分,用于在内部使用您想要的Mod_代理的不同端口。带有mod_代理的apacheweb服务器将被配置为在您想要的公共端口(我假设是端口80)上侦听,然后mod_代理将接收传入的请求并将它们发送到另一个不同端口(甚至不同服务器)上的另一个web服务器。对于外部用户来说,这是无形的。问题是,如果您的ISP不允许您在端口80上托管您的站点,那么它在逻辑上就不允许您从端口80进行代理。要想避开这一点会有点困难。就我个人而言,我会从Rackspace或Linode这样的人那里了解虚拟化服务器。您将在开放的Internet上获得一个完全可配置的服务器(花费相对较少的钱),而不受端口使用和静态IP的限制。如果你把事情搞砸了,你可以删除你的服务器,用一个新的操作系统映像重新开始

最后,您的问题标题建议的干净URL。这可能不是您实际问题的一部分,但为了以防万一,mod_rewrite是一个智能模块,它可以让您映射干净的URL,如
/cars/Toyota/1997
,并将它们转换为更丑陋的请求,如
/cars.php?make=Toyota&year=1997
。干净的URL不仅看起来更好,而且随着网站的发展,在幕后更容易重新组织web代码


最后一件事,令我惊讶的是,这个问题已经讨论了这么久,甚至没有对此发表评论,但是,这个问题真的不适合StackOverflow。可能地祝你好运!:)

这个问题有三个部分。首先是域的问题:为了用域名代替IP地址,你需要一个名称服务器,它可以将你想要的名称映射到一个地址。这是在主机级别,而不是端口级别,因此域名将包含您可能从中托管的所有端口。如果您正在使用您的家庭互联网连接(我怀疑您是因为您谈到了一个被阻止的端口),那么您需要考虑到您的公共IP地址可能会不时发生变化。您可以选择向ISP支付(或请求)静态IP,或使用动态DNS服务,该服务可以在IP地址更改时快速更新其记录

至于你的端口号。Mod_rewrite只处理URL的路径部分,用于在内部使用您想要的Mod_代理的不同端口。带有mod_代理的apacheweb服务器将被配置为在您想要的公共端口(我假设是端口80)上侦听,然后mod_代理将接收传入的请求并将它们发送到另一个不同端口(甚至不同服务器)上的另一个web服务器。对于外部用户来说,这是无形的。问题是,如果您的ISP不允许您在端口80上托管您的站点,那么它在逻辑上就不允许您从端口80进行代理。要想避开这一点会有点困难。就我个人而言,我会从Rackspace或Linode这样的人那里了解虚拟化服务器。您将在开放的Internet上获得一个完全可配置的服务器(花费相对较少的钱),而不受端口使用和静态IP的限制。如果你把事情搞砸了,你可以删除你的服务器,用一个新的操作系统映像重新开始

最后,您的问题标题建议的干净URL。这可能不是您实际问题的一部分,但为了以防万一,mod_rewrite是一个智能模块,它可以让您映射干净的URL,如
/cars/Toyota/1997
,并将它们转换为更丑陋的请求,如
/cars.php?make=Toyota&year=1997
。干净的URL不仅看起来更好,而且随着网站的发展,在幕后更容易重新组织web代码

最后一件事,令我惊讶的是,这个问题已经讨论了这么久,甚至没有对此发表评论,但是,这个问题真的不适合StackOverflow。可能地祝你好运!:)