예상대로 작동하지 않는 가상 호스트 아파치 구성의 영구 리디렉션

예상대로 작동하지 않는 가상 호스트 아파치 구성의 영구 리디렉션

동일한 IP를 가리키는 여러 도메인이 있습니다. RedirectPermanent는 페이지가 존재하지 않는 경우에만 모든 도메인에 대해 잘 작동하며 내 웹 사이트의 404 기본 페이지를 얻습니다. 실제로 존재하는 페이지를 브라우저에 입력하면 해당 IP를 가리키는 모든 도메인에서 해당 페이지에 액세스할 수 있으므로 리디렉션이 작동하지 않습니다.

따라서 URL domaintoredirect1.com/page/not/existing을 입력하면 domainiwant.com/page/not/existing이 표시됩니다(리디렉션이 제대로 작동함).

domaintoredirect1.com/page/existing을 입력하면 리디렉션이 발생하지 않고 URL은 domaintoredirect1.com/page/existing으로 유지됩니다.

왜 이런 일이 발생합니까?

또한 www를 도메인의 www가 아닌 ​​버전으로 리디렉션하고 싶지만 이 경우에도 리디렉션이 작동하지 않습니다. 버전이 모두 표시되고 리디렉션이 없습니다.

또한 다른 도메인 확장자(.org를 .com으로)와 www를 www가 아닌 ​​도메인 버전으로 리디렉션하고 싶지만 다음 경우에도 리디렉션이 작동하지 않습니다. www...org가 됩니다. notwww...com으로 리디렉션하지 않고 notwww...org를 사용합니다.

마지막 사례에서는 www가 있는 도메인과 없는 도메인이 모두 A 레코드에 등록되어 있는지 확인했습니다(이것이 이유일까요?). 다른 경우(domainsiwanttoredirect)에서는 www 버전이 CNAME으로 등록되어 www 버전에만 액세스할 수 있습니다(www 버전이 아닌 버전은 www 버전으로 리디렉션됨).

이것이VirtulHost 구성사용 가능한 사이트에서 발견됨

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

나는SSL_구성 파일또한

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

내가 도대체 ​​뭘 잘못하고있는 겁니까?

나는 또한 무엇을하는지 묻고 싶습니다서버 이름 기본값즉, apache_conf 파일에서 내가 복사하고 있는 apache_conf 파일에 대한 참조를 찾을 수 없기 때문입니다.아파치 구성또한 파일

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

관련 정보