如何配置Apache2重定向URL

时间:2011-01-04 16:44:57

标签: redirect apache2

我正在尝试在Apache中配置url重定向。我尝试了一些方法,没有任何作用。有人能告诉我解决方案,因为它似乎并不太难。

我将重定向请求:

https://myhost/configuration/jmx-console

为:

http://myanohterhost/jmx-console

这是https to http re-direct。

有人能指出我正确的方向吗?

非常感谢!

5 个答案:

答案 0 :(得分:7)

您可以使用RedirectMatch指令强制Apache将用户发送到其他地方:

RedirectMatch 301 ^(.*)$ http://www.anotherserver.com$1

请参阅以下内容:

http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirectmatch

http://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx

答案 1 :(得分:2)

在当前服务器(或虚拟主机)`myhost'的配置中,执行此操作的常规方法如下:

Redirect /configuration/jmx-console http://myanohterhost/jmx-console

编辑: 根据您的评论,看起来您可以使用以下技术之一来实现:

1。 mod_proxy,使用反向代理设置

只需将远程服务器的网址映射到本地网址:

ProxyPass /configuration/jmx-console http://myanohterhost/jmx-console
ProxyPassReverse /configuration/jmx-console http://myanohterhost/jmx-console

2。 mod_rewrite使用代理吞吐量功能

RewriteRule ^configuration/jmx-console(.*)$ http://myanohterhost/jmx-console$1 [P]

使用反向代理可能会有一些注意事项,我建议您仔细阅读http://httpd.apache.org/docs/2.2/en/mod/mod_proxy.html以查看使用反向代理时可用的各种选项。

答案 2 :(得分:1)

参考问题标题如何配置Apache2以重定向URL 我建议使用简单的解决方案,对我来说很合适(使用来自RedirectPermanent的{​​{1}})。

首先,我们检查我们的域是否具有正确的DNS条目,例如mod_alias类型条目:

A

name somefancydomain.com TTL 600 type A value 10.100.10.100 条目:

CNAME

然后我们使用IP 10.100.10.100访问ubuntu webserver并配置新的虚拟主机:

name www.somefancydomain.com
TTL 600
type CNAME
value somefancydomain.com

粘贴配置如下并保存:

cd /etc/apache2/sites-available/
sudo vim redirect.conf

启用新的虚拟主机并重新加载apache:

<VirtualHost *:80>

    ServerName somefancydomain.com
    ServerAlias www.somefancydomain.com

    RedirectPermanent / https://redirectedurl.com/

    ServerAdmin admin@redirectedurl.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

最后检查重定向是否有效。

答案 3 :(得分:0)

根据Apache网站,你应该使用mod_rewrite简单地从http重定向到https(或者另一种方式,这似乎更常见):

http://httpd.apache.org/docs/2.2/rewrite/avoid.html

网站建议将 mod_alias 重定向 RedirectMatch 指令结合使用。

答案 4 :(得分:0)

假设您正在主机“ myhost”上执行此操作

1 /触摸/etc/apache2/conf-available/my-redirect.conf

2 /编辑my-redirect.conf并添加

Redirect permanent /configuration/jmx-console http://myanotherhost/jmx-console

3 / a2enconf my-redirect.conf

4 / apache2ctl configtest

5 /这应该显示“语法正确”

6 / systemctl重新启动apache2