2017-10-06 11 views
0

J'ai un problème simple (je pense).htaccess directive en conflit avec https - 404 pas trouvé

Ce que fait mon site Web correctement - L'URL http://example.com/mypage utilise ->/var/ww/html/mypage.php | Dit simplement, cela permet essentiellement de supprimer l'extension php de l'URL.

Ce que mon résultat prévu est de faire la même chose avec https. Cependant, je retourne un 404. Donc, ma condition de réécriture ne fonctionne pas correctement pour https, mais fonctionne correctement pour http.

Voici le fichier .htaccess :

RewriteEngine On 

Options -MultiViews 

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

Avec cette configuration, dois-je préciser %{HTTPS} ?? Y a-t-il autre chose qui me manque?

+0

Il ne devrait pas y avoir de différence avec HTTPS. Cependant ... comment SSL est-il configuré? Si 'AllowOverride' n'est pas défini dans le conteneur VirtualHost pour le port 443 (votre hôte SSL), alors votre fichier' .htaccess' ne sera pas traité? – MrWhite

Répondre

1

Essayez d'ajouter cette ligne deux après "RewriteEngine On"

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

Espérons que cela fonctionne. Bien que cela remplace http: // avec https: //

+0

Négatif - No go - De plus, pour référence future, "code drop" est mal vu ... Essayez d'expliquer ce que signifie votre code et ** pourquoi ** vous l'avez utilisé .. – Zak

+0

Cela ne semble pas avoir quoi que ce soit à voir avec la question ?! (Vous avez également un ']' erroné à la fin de la directive 'RewriteRule'.) – MrWhite