Скажите, что у меня есть следующее определение Vhost в Apache2
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName dummy.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/dummy
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias www.dummy.com
SSLCertificateFile /etc/letsencrypt/live/dummy.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dummy.com/privkey.pem
</VirtualHost>
</IfModule>
<IfModule mod_ssl.c>
<VirtualHost *:80>
ServerName dummy.com
ServerAlias www.dummy.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/dummy
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
Redirect permanent / https://www.dummy.com
</VirtualHost>
</IfModule>
Если я ввожу
это перенаправляет к
Но если я ввожу
http://www.dummy.com или просто www.dummy.com
Это перенаправляет к
это не допустимый URL.
что в vhost конфигурации вызывает это? Я не вижу, где я должен искать, чтобы отладить и решить проблему, так как vhost не делает содержит, это переписывает правило
Redirect
директива должна быть:
Redirect permanent / https://www.dummy.com/
/
.Измените конфигурационный файл, затем перезапускают Apache2 или просто перезагружают его конфигурацию. И затем сбросьте кэш своего браузера или используйте новый инкогнито окно, чтобы сделать тест.
Кроме того, Вам не нужно RewriteEngine on
для использования Redirect
директива (это не, переписывает правило).
Вот подобные Вопросы и ответы: Перенаправьте людей после того, как SSL будет настроен