La redirección permanente en la configuración de Apache del host virtual no se comporta como se esperaba

La redirección permanente en la configuración de Apache del host virtual no se comporta como se esperaba

Tengo varios dominios que apuntan a la misma IP. RedirectPermanent funciona bien para todos los dominios SI y solo SI las páginas NO existen, y obtengo la página predeterminada 404 de mi sitio web. Si escribo en el navegador una página realmente existente, la redirección no funciona, ya que puedo acceder a esa página desde todos los dominios que apunten a esa IP.

Por lo tanto, si escribo la URL domaintoredirect1.com/page/not/existing, obtengo domainiwant.com/page/not/existing (la redirección funciona bien)

Si escribo domaintoredirect1.com/page/existing no obtengo ningún redireccionamiento y la URL permanece domaintoredirect1.com/page/existing

¿Por qué está pasando esto?

También me gustaría redirigir www a la versión del dominio que no es www, pero la redirección tampoco funciona en ese caso: obtengo ambas versiones y no hay redirección.

También me gustaría redirigir otra extensión de dominio (.org a .com), y www a la versión no www del dominio, pero la redirección tampoco funciona en estos casos: estoy obteniendo www...org y notwww...org sin redirecciones a notwww...com.

En estos últimos casos, he comprobado que el dominio con y sin www están registrados ambos con registro A (¿Puede ser este el motivo?). En los otros casos (domainsiwanttoredirect), la versión www se registra como CNAME y solo puedo acceder a la versión www (la versión que no es www se redirige a la versión www).

Este es elConfiguración de VirtulHostencontrado en sitios disponibles

    <VirtualHost *:80>
ServerName www.domaintoredirect1.com
ServerAlias domaintoredirect1.com
Redirect permanent "/" "https://domainiwant.com/en/about-us/domaintoredirect1/"
</VirtualHost>

<VirtualHost *:80>
ServerName www.domaintoredirect2.com
ServerAlias domaintoredirect.com
Redirect permanent "/" "https://domainiwant.com/en/"
</VirtualHost>

<VirtualHost *:80>
ServerName www.domainiwant.org
ServerAlias  domainiwant.org
Redirect permanent "/" "https://domainiwant.com/"
</VirtualHost>

<VirtualHost *:80>
ServerName www.domainiwant.com
Redirect permanent "/" "https://domainiwant.com/"
</VirtualHost>

<VirtualHost *:80>
ServerName domainiwant.com
Redirect permanent "/" "https://domainiwant.com/"
</VirtualHost>

<VirtualHost *:80>
    ServerName default
    DocumentRoot /var/www/html
    <Location />
        Require all denied
    </Location>
</VirtualHost>

Estoy agregando elarchivo ssl_configurationtambién

 <IfModule mod_ssl.c>


<VirtualHost *:443>

ServerName   website-ws.domainIwant.com
SSLCertificateFile /etc/ssl/certs/domainIwant.com.22092020.pem
SSLCertificateKeyFile /etc/ssl/private/domainIwant-com.key
SSLCipherSuite stuff...
SSLProtocol stuff...
SSLCipherSuite stuff...


#SSLProxyEngine on

<Location />
ProxyPass  http://localhost:3000/
ProxyPassReverse  http://localhost:3000/
</Location>
</VirtualHost>


<VirtualHost *:443>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
#        AllowOverride All

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


ServerName www.domainToRedirect1.com
ServerAlias domainToRedirect1.com
SSLCertificateFile /etc/ssl/certs/domainToRedirect1.crt
SSLCertificateKeyFile /etc/ssl/private/nginx_kmdevel.key

SSLCipherSuite stuff
SSLProtocol stuff
SSLCipherSuite stuff

</VirtualHost>



<VirtualHost *:443>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
#        AllowOverride All

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


ServerName www.domainIwant.com
SSLCertificateFile /etc/ssl/certs/domainIwant.com.22092020.pem
SSLCertificateKeyFile /etc/ssl/private/domainIwant-com.key

SSLCipherSuite stuff
SSLProtocol stuff
SSLCipherSuite stuff

</VirtualHost>


<VirtualHost *:443>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
#        AllowOverride All

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


ServerName domainIwant.com
SSLCertificateFile /etc/ssl/certs/domainIwant.com.22092020.pem
SSLCertificateKeyFile /etc/ssl/private/domainIwant-com.key

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM
SSLProtocol -all +TLSv1.3 +TLSv1.2 +TLSv1.1
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA256 EECDH+aRSA+SHA256 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"

</VirtualHost>


<VirtualHost *:443>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
#        AllowOverride All

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


ServerName www.domainIwant.it
ServerAlias domainIwant.it
SSLCertificateFile /etc/ssl/certs/domainIwant.it.2020.pem
SSLCertificateKeyFile /etc/ssl/private/domainIwant_2020.key

</VirtualHost>

<VirtualHost *:443>
ServerName www.domainToRedirect2.com
Include /etc/letsencrypt/options-ssl-apache.conf
ServerAlias domainToRedirect2.com
SSLCertificateFile /etc/letsencrypt/live/www.domainToRedirect2.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.domainToRedirect2.com/privkey.pem
</VirtualHost>


<VirtualHost *:443>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
#        AllowOverride All

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


ServerName rcs.domainIwant.com
SSLCertificateFile /etc/ssl/certs/domainIwant.com.22092020.pem
SSLCertificateKeyFile /etc/ssl/private/domainIwant-com.key

SSLCipherSuite stuff
SSLProtocol stuff
SSLCipherSuite stuff

</VirtualHost>

</IfModule>

¿Qué estoy haciendo mal?

También preguntaría qué haceNombre del servidor predeterminadoes decir, ya que en el archivo apache_conf no encuentro ninguna referencia a estoy copiando elconfiguración de apachearchivo también

DefaultRuntimeDir ${APACHE_RUN_DIR}
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>
<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
AccessFileName .htaccess
<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
IncludeOptional conf-enabled/*.conf
IncludeOptional sites-enabled/*.conf

información relacionada