Ich habe einen neuen virtuellen Host für eine neue Site auf meinem Server eingerichtet, aber das Verhalten ist seltsam, obwohl die Einstellungen exakt mit denen meiner ursprünglichen Site übereinstimmen.
Ich möchte, dass alle Anfragen einfach an HTTPS weitergeleitet werden. Auf meiner Haupt-Site (der funktionierenden) habe ich dies in der VirtualHost
Konfiguration angegeben und in habe .htaccess
ich eine zusätzliche Regel angegeben, um kurze URLs zuzulassen. Insbesondere besteht das Problem auf der nicht funktionierenden Site darin, dass beim Versuch, zu zu wechseln example.com/url
, die Umleitung zu https://example.comurl
der erforderlichen /
URL wechselt und diese entfernt .
Ich habe die exakte Konfiguration von der Arbeitsseite in die neue VirtualHost
und .htaccess
Datei kopiert, daher bin ich mir nicht sicher, warum sie auf der neuen nicht funktioniert. Meine DNS-Einträge für beide Sites verwenden alle A-Einträge, um darauf zu verweisen. Auf DNS-Ebene finden keine Weiterleitungen oder andere Aktionen statt. Ich habe versucht, ein /
am Ende der Redirect
Zeilen in den Code unten zu setzen, aber das Problem wurde nicht behoben. Der Server ist Ubuntu 14.04 und Apache ist Version 2.4.7. Bei beiden Sites handelt es sich um separate Domänennamen, für die separate .conf
Dateien verwendet werden. Sie werden jedoch auf demselben Server mit derselben IP-Adresse gehostet. Wie kann ich dieses Problem beheben?
Der entsprechende Code in der VirtualHost
:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
Redirect permanent / https://example.com
</VirtualHost>
Und in .htaccess
:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
Falls es hilft / wichtig ist, ist dies die SSL-Konfiguration in meiner VirtualHost-Datei, obwohl sie außerhalb aller anderen Anweisungen ganz am Anfang der Datei steht:
SSLCipherSuite AES128+EECDH:AES128+EDH
SSLProtocol All -SSLv2 -SSLv3
SSLHonorCipherOrder On
Header always set Strict-Transport-Security "max-age=63072000; includeSubdo$
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
SSLCompression off
SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
Und dies ist die Konfiguration speziell für die VirtualHost
für die Site:
<VirtualHost *:443>
ServerName example.com
ServerAdmin user@example.com
DocumentRoot /var/www/example
ErrorLog ${APACHE_LOG_DIR}/errorexample.log
Options -Indexes
SSLEngine on
SSLCertificateFile /etc/ssl/example/examplecert.crt
SSLCertificateKeyFile /etc/ssl/example/examplekey.key
SSLCertificateChainFile /etc/ssl/chain/class1.pem
</VirtualHost>
Redirect permanent / https://example.com/
/
am Ende des Redirect
Befehls zu setzen, aber das hat das Problem nicht behoben.