2017-10-06 2 views
0

Ich habe ein einfaches Problem (denke ich).htaccess Direktive im Konflikt mit https - 404 nicht gefunden

Was meine Website tut korrekt - Die URL http://example.com/mypage verwendet ->/var/ww/html/mypage.php | Einfach gesagt, ermöglicht es im Wesentlichen Entfernen der php Erweiterung von der URL.

Was mein beabsichtigtes Ergebnis ist die gleiche Sache mit https zu tun. Ich gebe jedoch ein 404 zurück. So funktioniert meine Umschreibungsbedingung nicht ordnungsgemäß für https, aber funktioniert ordnungsgemäß für http.

Hier ist die .htaccess Datei:

RewriteEngine On 

Options -MultiViews 

RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule^%{REQUEST_URI}.php [L] 

Mit dieser Einrichtung kann ich %{HTTPS} angeben müssen ?? Gibt es noch etwas, das mir fehlt?

+0

Es sollte keinen Unterschied mit HTTPS geben. Wie auch immer ... Wie ist SSL konfiguriert? Wenn 'AllowOverride' nicht im VirtualHost-Container für Port 443 (Ihr SSL-Host) festgelegt ist, wird Ihre' .htaccess'-Datei nicht verarbeitet? – MrWhite

Antwort

1

Versuchen Sie, diese zwei Zeilen nach hinzufügen "RewriteEngine On"

RewriteCond %{HTTPS} !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]] 

Hoffentlich funktioniert es. Obwohl dies http: // durch https ersetzen wird: //

+0

Negative - Nein gehen - Plus, für zukünftige Referenz, "Code fallen lassen" ist verpönt ... Versuchen Sie zu erklären, was Ihr Code bedeutet und ** warum ** Sie es verwendet .. – Zak

+0

Dies scheint nichts zu haben mit der Frage zu tun haben ?! (Sie haben auch ein fehlerhaftes ']' am Ende der 'RewriteRule' Direktive.) – MrWhite