Https重定向在Apache 2.4上不起作用

Https重定向在Apache 2.4上不起作用,apache,Apache,我的apache配置出现了一些问题,我正在尝试隔离这个问题 我想出了以下不起作用的行: 出于测试目的,我试图将所有https流量重定向到Yahoo 重定向不起作用,我的网站正在显示存储在public_html中的index.html文件 Listen 443 NameVirtualHost *:443 <VirtualHost *:443> DocumentRoot "${SRVROOT}/htdocs/example.com/public_html"

我的apache配置出现了一些问题,我正在尝试隔离这个问题

我想出了以下不起作用的行:

出于测试目的,我试图将所有https流量重定向到Yahoo

重定向不起作用,我的网站正在显示存储在public_html中的index.html文件

Listen 443  
NameVirtualHost *:443

<VirtualHost *:443> 
    DocumentRoot "${SRVROOT}/htdocs/example.com/public_html"    
    ServerName example.com
    ServerAlias example
    Redirect permanent / https://www.yahoo.com/
</VirtualHost> 
听443
名称虚拟主机*:443
DocumentRoot“${SRVROOT}/htdocs/example.com/public_html”
ServerName example.com
服务器别名示例
重定向永久/https://www.yahoo.com/
有人能帮忙吗


感谢您将其用于重定向,同时启用mod_rewrite以使其正常工作:

将其添加到.htaccess文件的顶部:

RewriteEngine On #Don't use RewriteEngine On twice in one .htaccess file
RewriteBase /
RewriteRule ^(.*)$ https://www.yahoo.com [R=301,L]
一旦运行,清除浏览器缓存,使重定向与yahoo.com不同

以防万一 如果希望网站的所有流量重定向到同一域上的https://上,请执行以下操作,不要删除
上的
重写引擎
重写库/

RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
如果要使用https将所有流量重定向到一个域:

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST] !^example.com
RewriteRule ^(.*)$ https://example.com [R=301,L]
如果要使用https和www将所有流量重定向到一个域:

RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST] !^www.example.com
RewriteRule ^(.*)$ https://www.example.com [R=301,L]

谢谢你的回答。实际上,我不想在htaccess文件上这样做。正如我所说,这只是为了测试目的。我需要在Apache上完成,因为我想基于此设置为反向代理。在Apache的httpd.conf文件上完成。很抱歉,我对Apache的了解非常有限。这允许我配置反向代理吗?@ThomasCarlton是的,我想会的。将其添加到httpd.conf的末尾。我会支持你的任何错误。反向代理应该可以工作,因为这不是内部重定向。谢谢您的时间。那么你知道我应该如何添加反向代理吗?谢谢如果您运行的是Apache2.4,请删除不推荐的。除此之外,
重定向对我来说很好。确保启用了
mod_alias
sudo a2enmod alias
),然后重新加载/重新启动服务器。还可以使用
apachectl configtest
检查您的配置。查看访问和错误日志也没有什么坏处。要防止浏览器的缓存效应,请使用命令行工具进行测试,如
wget
curl
lynx