Https重定向在Apache 2.4上不起作用
我的apache配置出现了一些问题,我正在尝试隔离这个问题 我想出了以下不起作用的行: 出于测试目的,我试图将所有https流量重定向到Yahoo 重定向不起作用,我的网站正在显示存储在public_html中的index.html文件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"
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
。