Redirect 如何配置Apache2以重定向URL

Redirect 如何配置Apache2以重定向URL,redirect,apache2,Redirect,Apache2,我正在尝试在Apache中配置url重定向。我尝试过一些方法,但没有任何效果。有人能告诉我这个问题的解决方法吗,因为它似乎不太难 我将从以下位置重定向请求: https://myhost/configuration/jmx-console 致: 这是一个https到http的重新定向 有人能给我指一下正确的方向吗 非常感谢 您可以使用RedirectMatch指令强制Apache将用户发送到其他地方: RedirectMatch 301 ^(.*)$ http://www.anotherser

我正在尝试在Apache中配置url重定向。我尝试过一些方法,但没有任何效果。有人能告诉我这个问题的解决方法吗,因为它似乎不太难

我将从以下位置重定向请求:

https://myhost/configuration/jmx-console
致:

这是一个https到http的重新定向

有人能给我指一下正确的方向吗


非常感谢

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

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


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

Redirect /configuration/jmx-console http://myanohterhost/jmx-console
编辑: 根据您的评论,您似乎可以使用以下技术之一进行操作:

1.mod_代理,使用反向代理设置 只需将远程服务器的url映射到本地url即可:

ProxyPass /configuration/jmx-console http://myanohterhost/jmx-console
ProxyPassReverse /configuration/jmx-console http://myanohterhost/jmx-console
2.使用代理吞吐量功能进行mod_重写
像这样使用反向代理可能会有一些注意事项,我建议您仔细阅读,以了解使用反向代理时可用的各种选项。

根据Apache站点,您不应该使用mod_rewrite来简单地从http重定向到https(或其他更常见的方式):


该网站建议使用mod_aliasRedirectMatch指令。

参考问题标题如何配置Apache2重定向URL,我会提出简单的解决方案,对我来说很好(使用
RedirectPermanent
from
mod_alias

首先,我们检查我们的域是否有正确的DNS条目,例如
A
type条目:

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

name www.somefancydomain.com
TTL 600
type CNAME
value somefancydomain.com
然后我们转到IP为10.100.10.100的ubuntu Web服务器,并配置新的虚拟主机:

cd /etc/apache2/sites-available/
sudo vim redirect.conf
按如下方式粘贴配置并保存:

<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>

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

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

1/touch/etc/apache2/conf可用/my-redirect.conf

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

Redirect permanent /configuration/jmx-console http://myanotherhost/jmx-console
3/a2enconf my-redirect.conf

4/apache2ctl配置测试

5/这应该给出“语法OK”


6/systemctl重启apache2

您好,谢谢您的回答。然而,这并不是我所需要的。重定向执行浏览器重定向,新定向的URL将显示在浏览器中。我需要的是一种只显示新URL内容的方式。浏览器中的URL仍然显示https://myhost/configuration/jmx-console.Hi,感谢您的回答。然而,这并不是我所需要的。重定向执行浏览器重定向,新定向的URL将显示在浏览器中。我需要的是一种只显示新URL myanohterhost/jmx控制台内容的方式。浏览器中的URL仍然显示https://myhost/configuration/jmx-consoleNot-so。你只是把你的评论复制到另一张海报上。我刚才在我的服务器上试过这个,效果很好。
<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>
sudo a2ensite redirect.conf
sudo service apache2 reload
Redirect permanent /configuration/jmx-console http://myanotherhost/jmx-console