【发布时间】:2012-07-23 21:32:02
【问题描述】:
我为我的机器配置了外部 IP 和主机名。
在应用程序内部,我只使用域名来访问 API。因此,当我尝试通过 IP 地址访问我的 API 时,它会显示 302 Moved 临时错误。 因此,对于使用 IP 地址访问服务器的请求(对于主页),它应该重定向到主机名。
也就是说,当用户点击https://XX.XX.XX.XX/main时,它应该被重定向到https://ayz-abc.mysite.com/main
为此,我尝试在 apache 的 httpd.conf 中使用重定向。
<VirtualHost XX.XX.XX.XX>
DocumentRoot "/var/www/html"
#ServerName ayz-abc.mysite.com/
# Other directives here
RewriteEngine On
RewriteRule /.* https://ayz-abc.mysite.com/ [R]
</VirtualHost>
我也尝试过以下方法
<VirtualHost *.portnum>
DocumentRoot "/var/www/html"
RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule https://XX.XX.XX.XX/main https://ayz-abc.mysite.com/main [R=301,L]
</VirtualHost>
请帮助我。
【问题讨论】:
-
302 不是错误。如果服务器以 302 响应,则重定向正在工作。服务器的 HTTP 响应是什么?
-
UI 仍未重定向到主机名,但 API 在内部配置为指向主机名。所以当我尝试从 UI 访问 API 时,对 API 的请求(带有主机名)显示 302
标签: redirect virtualhost apache