Can';t在Apache上将https非www重定向到www

Can';t在Apache上将https非www重定向到www,apache,.htaccess,ssl,https,Apache,.htaccess,Ssl,Https,因此,我运营了几个域,几个月前我开始将它们全部切换到SSL 在我的DNS控制台(Namecheap)上,我将所有流量重定向到https&www,至少在理论上是这样 在我的Apache配置中,我有一系列端口80虚拟主机,它们将http重定向到https和www 我的ssl虚拟主机都可以提供同样的服务 我所有的东西都在www子域中 我注意到https和非www在所有域上都会超时 所以我在htaccess中尝试了一个重写规则,比如: RewriteEngine On # v second thing

因此,我运营了几个域,几个月前我开始将它们全部切换到SSL

在我的DNS控制台(Namecheap)上,我将所有流量重定向到https&www,至少在理论上是这样

在我的Apache配置中,我有一系列端口80虚拟主机,它们将http重定向到https和www

我的ssl虚拟主机都可以提供同样的服务

我所有的东西都在www子域中

我注意到https和非www在所有域上都会超时

所以我在htaccess中尝试了一个重写规则,比如:

RewriteEngine On

# v second thing i tried
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule (.*) https://www.example.com/$1 [R=301,L]

# v 1st thing i tried
#RewriteCond %{HTTP_HOST} !^www\.
#RewriteRule (.*) https://www.example.com%{REQUEST_URI} [L,R=301]

一个单独的虚拟主机重定向流量,类似这样:

        <VirtualHost *:443>
                ServerName example.com

                Redirect / https://www.example.com/

                # Please imagine the Let's encrypt blob here.
        </VirtualHost>



如果您尝试上面的虚拟主机配置,测试https和非www的结果是什么,只是一个超时?您是指实际的请求超时,还是“重定向太多”错误?如果超时-什么时候发生,在重定向之前还是之后?使用浏览器开发工具“网络面板”检查@04FS常规超时。当它仍在example.com中时超时。我正在测试的特定站点是Wordpress 5.2.3。在PHP5.6上,但问题也发生在其他网站上,所有网站都是5.6,它们大多是laravel&wordpress。好吧,除了启用重写日志之外,现在不能推荐更多,看看这是否有助于阐明这个问题。(或者对当前的设置给出一个清晰完整的描述,因为有这么多关于您尝试过的不同事情的提及,这里可能没有人知道事情的实际、当前状态。)好的,请稍等,我会尝试一下,如果我仍然不知道的话,我会带着我所有的apache配置回来。顺便说一句@DusanBajic我又试了一次虚拟主机,结果只是又一次普通的超时:/
Options -Indexes
Options +FollowSymLinks


<IfModule mod_rewrite.c>
RewriteEngine On
LogLevel alert rewrite:trace8

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

</IfModule>


# Client Cache-control policy:
# Public Cache everything for 1 week (public: can be cached by proxies.)
<IfModule mod_headers.c>
  <FilesMatch "\.(ico|gif|jpg|jpeg|png|pdf|css|js)$">
      Header set Cache-Control "max-age=604800, public"
  </FilesMatch>
</IfModule>

# Expires caching.
# Replicates the same policy seen in the Cache-control section.
<IfModule mod_expires.c>
  <FilesMatch "\.(ico|jpe?g|png|gif|js|css|pdf)$">
    ExpiresActive On
    ExpiresByType image/jpg "access 1 week"
    ExpiresByType image/jpeg "access 1 week"
    ExpiresByType image/gif "access 1 week"
    ExpiresByType image/png "access 1 week"
    ExpiresByType text/css "access 1 week"
    ExpiresByType application/pdf "access 1 week"
    ExpiresByType application/javascript "access 1 week"
    ExpiresByType text/x-javascript "access 1 week"
    ExpiresByType image/x-icon "access 1 week"
  </FilesMatch>
</IfModule>
<IfModule mod_ssl.c>
    # This works amazing.
    <VirtualHost *:80>
        ServerName www.example.com
        ServerAlias example.com

        Redirect / https://www.example.com/
    </VirtualHost>


    <VirtualHost *:443>
        ServerName www.example.com # Works
        ServerAlias example.com # Doesn't work no matter what.


        DocumentRoot "/var/www/example"

        Options +FollowSymLinks 

            <Directory />
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
        Allow from all
        </Directory>

        <Directory "/var/www/example">
        Options IncludesNOEXEC
        AllowOverride All
        Order allow,deny
        Allow from all
        </Directory> 



        #LogLevel info ssl:warn # trace8.... trace1, debug, info, notice, warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # The lets encrypt blob.
        SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem

        SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem

        Include /etc/letsencrypt/options-ssl-apache.conf

    </VirtualHost>
</IfModule>

[Fri Sep 20 10:20:32.829860 2019] [rewrite:trace3] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/ -> 
[Fri Sep 20 10:20:32.829900 2019] [rewrite:trace3] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri ''
[Fri Sep 20 10:20:32.829921 2019] [rewrite:trace4] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched
[Fri Sep 20 10:20:32.829927 2019] [rewrite:trace1] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] pass through /var/www/example/
[Fri Sep 20 10:20:32.830005 2019] [rewrite:trace1] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71dd0a0/subreq] [perdir /var/www/example/] pass through /var/www/example/index.html
[Fri Sep 20 10:20:32.830044 2019] [rewrite:trace1] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71dd0a0/subreq] [perdir /var/www/example/] pass through /var/www/example/index.cgi
[Fri Sep 20 10:20:32.830072 2019] [rewrite:trace1] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71dd0a0/subreq] [perdir /var/www/example/] pass through /var/www/example/index.pl
[Fri Sep 20 10:20:32.830100 2019] [rewrite:trace1] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71dd0a0/subreq] [perdir /var/www/example/] pass through /var/www/example/index.php
[Fri Sep 20 10:20:33.867992 2019] [rewrite:trace3] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/wp-includes/css/admin-bar.min.css -> wp-includes/css/admin-bar.min.css, referer: https://www.example.com/
[Fri Sep 20 10:20:33.868055 2019] [rewrite:trace3] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri 'wp-includes/css/admin-bar.min.css', referer: https://www.example.com/
[Fri Sep 20 10:20:33.868074 2019] [rewrite:trace4] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched, referer: https://www.example.com/
[Fri Sep 20 10:20:33.868080 2019] [rewrite:trace1] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] pass through /var/www/example/wp-includes/css/admin-bar.min.css, referer: https://www.example.com/
[Fri Sep 20 10:20:33.936995 2019] [rewrite:trace3] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/wp-content/themes/portfolio-web/assets/library/bootstrap/css/bootstrap.min.css -> wp-content/themes/portfolio-web/assets/library/bootstrap/css/bootstrap.min.css, referer: https://www.example.com/
[Fri Sep 20 10:20:33.937035 2019] [rewrite:trace3] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri 'wp-content/themes/portfolio-web/assets/library/bootstrap/css/bootstrap.min.css', referer: https://www.example.com/
[Fri Sep 20 10:20:33.937055 2019] [rewrite:trace4] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched, referer: https://www.example.com/
[Fri Sep 20 10:20:33.937067 2019] [rewrite:trace1] [pid 21314] mod_rewrite.c(475): [client 188.26.215.200:51252] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] pass through /var/www/example/wp-content/themes/portfolio-web/assets/library/bootstrap/css/bootstrap.min.css, referer: https://www.example.com/
[Fri Sep 20 10:20:33.939182 2019] [rewrite:trace3] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/wp-content/themes/portfolio-web/assets/library/Font-Awesome/css/font-awesome.min.css -> wp-content/themes/portfolio-web/assets/library/Font-Awesome/css/font-awesome.min.css, referer: https://www.example.com/
[Fri Sep 20 10:20:33.939212 2019] [rewrite:trace3] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri 'wp-content/themes/portfolio-web/assets/library/Font-Awesome/css/font-awesome.min.css', referer: https://www.example.com/
[Fri Sep 20 10:20:33.939231 2019] [rewrite:trace4] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched, referer: https://www.example.com/
[Fri Sep 20 10:20:33.939260 2019] [rewrite:trace1] [pid 21313] mod_rewrite.c(475): [client 188.26.215.200:51250] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] pass through /var/www/example/wp-content/themes/portfolio-web/assets/library/Font-Awesome/css/font-awesome.min.css, referer: https://www.example.com/
[Fri Sep 20 10:20:34.036167 2019] [rewrite:trace3] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/wp-includes/js/admin-bar.min.js -> wp-includes/js/admin-bar.min.js, referer: https://www.example.com/
[Fri Sep 20 10:20:34.036236 2019] [rewrite:trace3] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri 'wp-includes/js/admin-bar.min.js', referer: https://www.example.com/
[Fri Sep 20 10:20:34.036267 2019] [rewrite:trace4] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched, referer: https://www.example.com/
[Fri Sep 20 10:20:34.036279 2019] [rewrite:trace1] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] pass through /var/www/example/wp-includes/js/admin-bar.min.js, referer: https://www.example.com/
[Fri Sep 20 10:20:34.119597 2019] [rewrite:trace3] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/wp-content/uploads/2019/09/portfolioyo2.jpg -> wp-content/uploads/2019/09/portfolioyo2.jpg, referer: https://www.example.com/
[Fri Sep 20 10:20:34.119667 2019] [rewrite:trace3] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri 'wp-content/uploads/2019/09/portfolioyo2.jpg', referer: https://www.example.com/
[Fri Sep 20 10:20:34.119682 2019] [rewrite:trace4] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched, referer: https://www.example.com/
[Fri Sep 20 10:20:34.119687 2019] [rewrite:trace1] [pid 21312] mod_rewrite.c(475): [client 188.26.215.200:51258] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e30a0/initial] [perdir /var/www/example/] pass through /var/www/example/wp-content/uploads/2019/09/portfolioyo2.jpg, referer: https://www.example.com/
[Fri Sep 20 10:20:34.122833 2019] [rewrite:trace3] [pid 21311] mod_rewrite.c(475): [client 188.26.215.200:51288] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] strip per-dir prefix: /var/www/example/wp-content/uploads/2019/01/laptop-1209008.jpg -> wp-content/uploads/2019/01/laptop-1209008.jpg, referer: https://www.example.com/
[Fri Sep 20 10:20:34.122907 2019] [rewrite:trace3] [pid 21311] mod_rewrite.c(475): [client 188.26.215.200:51288] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] applying pattern '(.*)' to uri 'wp-content/uploads/2019/01/laptop-1209008.jpg', referer: https://www.example.com/
[Fri Sep 20 10:20:34.122933 2019] [rewrite:trace4] [pid 21311] mod_rewrite.c(475): [client 188.26.215.200:51288] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] RewriteCond: input='www.example.com' pattern='^example.com$' [NC] => not-matched, referer: https://www.example.com/
[Fri Sep 20 10:20:34.122941 2019] [rewrite:trace1] [pid 21311] mod_rewrite.c(475): [client 188.26.215.200:51288] 188.26.215.200 - - [www.example.com/sid#7f44b72a56b8][rid#7f44b71e70a0/initial] [perdir /var/www/example/] pass through /var/www/example/wp-content/uploads/2019/01/laptop-1209008.jpg, referer: https://www.example.com/