0
votes

Rediriger le site Web HTTP sur HTTPS à Laravel dans l'hébergement partagé en utilisant Htaccess

J'ai un projet Laravel. et j'ai utilisé Godaddy. Récemment, j'ai installé un certificat SSL sur mon site Web afin que je tape https://example.com dans le navigateur Ça marche mais quand j'écris example.com, il se connecte par http.

Pour résoudre ce problème, j'ai ajouté ces lignes au fichier .htaccess de mon dossier racine: p> xxx pré>

mais cette redirection à moi https://example.com/public . p>

J'ai ajouté deux hocs est dans le dossier racine et le second est dans le dossier public. p>

Code HTACTACS: P>

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^ %1 [L,R=301]


# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]


10 commentaires

Avez-vous essayé de rewriteCond% {https} sur?


Essayez ceci rewriteEngine sur rewriteCond% {https} de rewriterule (. *) https: //% {http_host}% {request_uri}


@fmsthird dans lequel .htaccess je mets ce code.


le premier dans votre dossier racine


@fmsthird j'ai essayé déjà cela, il redirige parfaitement mais dans l'URL, il exemple.com/public


J'espère que cela vous aidera à faire cela? https://stackoverflow.com/questions/28402726/LARAVEL-5-RREDIR ect-to- https


Du rewriteEngine sur rewriteCond% {https} redevriterule ^ (. *) https: //% {http_host}% {demande_uri} / $ 1 [r = 301, l]


@RoPalImunshi oui mais sa donne-moi une erreur interdite d'accès


Hey @ dhaval_512 Avez-vous trouvé la solution? Je suis confronté au même problème.


S'il vous plaît, regardez cette Gist.github.com/ilhamsj/819369A56BB983EAC018C5F4E04CDA50


4 Réponses :


0
votes

Essayez ce code:

RewriteCond %{SERVER_PORT} ^80$
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R]
RewriteRule ^/?$ "https\:\/\/example\.com\/" [R=301,L]


0 commentaires

0
votes
<IfModule mod_rewrite.c>
    RewriteEngine on
    Options +FollowSymlinks
    #redirect http non-www to https://www
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(www\.)?your-domain\.com$
    RewriteRule (.*) https://www.your-domain.com/$1 [R=301,L]
    #redirect https non-www to www
    RewriteCond %{HTTPS} on
    RewriteCond %{HTTP_HOST} ^your-domain\.com$
    RewriteRule (.*) https://www.your-domain.com/$1 [R=301,L]
</IfModule>
I am using this to redirect.

0 commentaires

0
votes

Voici la solution,

<IfModule mod_rewrite.c>
   RewriteEngine On
   # Force SSL
   RewriteCond %{HTTPS} !=on
   RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
   # Remove public folder form URL
   RewriteRule ^(.*)$ public/$1 [L]
</IfModule>


0 commentaires

0
votes

a essayé toutes les solutions, mais cela a fonctionné pour moi sur laravel 6.0 strong>, utilisez-le par Création de fichier .htaccess dans le dossier racine strong> plutôt que /public/.htaccess.

Options +SymLinksIfOwnerMatch
RewriteEngine On

# ensure www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  
# ensure https
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
RewriteRule ^ index.php [L]


0 commentaires