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

fafcakar  于 2023-03-13  发布在  Apache
关注(0)|答案(2)|浏览(156)

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

有人能帮忙吗?
谢谢

dpiehjr4

dpiehjr41#

使用此命令进行重定向,同时启用mod_rewrite以使其工作:
将以下内容添加到.htaccess文件的顶部:

RewriteEngine On #Don't use RewriteEngine On twice in one .htaccess file
RewriteBase /
RewriteRule ^(.*)$ https://www.yahoo.com [R=301,L]

清除浏览器的缓存,以便在www.example.com正常工作后使用不同的重定向yahoo.com。

以防万一

如果您希望网站的所有流量重定向到同一个域上的https://,请执行以下操作,不要删除RewriteEngine OnRewriteBase /

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

nwnhqdif2#

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

相关问题