重写规则从Rails服务器的URL隐藏端口?

时间:2012-07-04 13:58:11

标签: apache mod-rewrite

我在网址“http://example.com:1234”上运行了一个rails服务器 我想将此应用程序的URL作为“http://example.com/myapp”提供给用户,以便Apache(或Rack或您建议的任何工作)可以将对“/ myapp”的请求重定向到该端口3333域。

2 个答案:

答案 0 :(得分:6)

看看在apache下设置Reverse Proxy

Apache,在example.com上侦听端口80,会将代理转发到端口1234.然后http://example.com/myapp的请求将在内部代理http://example.com:1234/myapp(或者您设置了ProxyPass目标)。< / p>

如果您无法访问服务器配置,则可以使用mod_rewrite的代理标志并在.htaccess文件中设置一些规则。有点像:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^myapp(.*) http://example.com:1234/$1 [P,L]

答案 1 :(得分:1)

有时会失去它的CSS风格。您只能使用:

RewriteRule ^myapp(.*) http://example.com:1234 [L,R]