Не могу перенаправить https без www на www на Apache - PullRequest
0 голосов
/ 20 сентября 2019

Итак, я управляю несколькими доменами, и несколько месяцев назад я начал переключать их все на SSL.

На своей консоли DNS (Namecheap) я перенаправляю весь трафик на https & www, по крайней мерев теории.

В моей конфигурации Apache у меня есть серия виртуальных хостов с портом 80, которые перенаправляют http на https и www.

все мои виртуальные хосты ssl служат https://www.example.com кака также https://example.com.

Все мои материалы находятся в поддоменах www.

Я заметил, что https & non-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>


Все безрезультатно.

I 'Я немного потерян, я вижу решения в Интернете, они в основном не работают, или я, возможно, не реализую их должным образом.Кто знает.(Это личность, которую я лично не знаю, но было бы неплохо, если бы вы, ребята, это сделали!)

Просто, чтобы еще раз уточнить, http non-www, а также http www перенаправление на https и www работают отлично.,Не работает только https & non-www, время ожидания истекло для меня.

Можете ли вы помочь мне?Заранее спасибо.

Редактировать: Вставить всю конфигурацию в том виде, в каком она есть сейчас, чтобы вы, ребята, могли получить более качественную картину..Htaccess немного изменен, потому что я тестировал на этом конкретном веб-сайте, но он примерно такой же, как и любой другой .htaccess, который у меня есть, потому что мне действительно нравится этот конфиг, так что вот оно:

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>

И, вот мой маленький пример .conf, который у меня есть в / var / www / apache2 / sites-enabled, опять же примерно похож на другие:

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

РЕДАКТИРОВАТЬ: Мои извинения я понял, что LogLevel не можетбыть настроенным в .htaccess и перенести его на мой виртуальный хост, в противном случае мой конфиг теперь идентичен, и я его тестирую.

РЕДАКТИРОВАТЬ: Вот журнал после того, как я сделал это и запросил https & non-www, что привело к таймауту:

[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/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...