Passer mon htaccess de http à https ?

Nouveau WRInaute
Bonjour,

j'ai commencé à passer mon site en https chez infomaniak, je suis occupé à changer mes urls absolues en relatives, j'ai aussi réfléchi à l'url rewriting mais je suis loin d'être un spécialiste et j'ai besoin de votre avis.

actuellement j'ai :

Code:
################################## Errors ######################################
#ErrorDocument 301 /error/301-moved_permanently.html
#ErrorDocument 302 /error/302-moved_temporarily.html
#ErrorDocument 303 /error/303-see_other.html
#ErrorDocument 400 /error/400-bad_request.html
ErrorDocument 401 /error/401-authorization_required.html
#ErrorDocument 402 /error/402-payment_required.html
ErrorDocument 403 /error/403-forbidden.html
ErrorDocument 404 /erreur404.php
#ErrorDocument 405 /error/405-method_not_allowed.html
#ErrorDocument 406 /error/406-not_acceptable.html
#ErrorDocument 407 /error/407-proxy_authentication_required.html
ErrorDocument 408 /error/408-request_timed_out.html
#ErrorDocument 409 /error/409-conflicting_request.html
#ErrorDocument 410 /error/410-gone.html
#ErrorDocument 411 /error/411-content_length_required.html
#ErrorDocument 412 /error/412-precondition_failed.html
#ErrorDocument 413 /error/413-request_entity_too_long.html
#ErrorDocument 414 /error/414-request_uri_too_long.html
#ErrorDocument 415 /error/415-unsupported_media_type.html
ErrorDocument 500 /error/500-internal_server_error.html
#ErrorDocument 501 /error/501-not_implemented.html
#ErrorDocument 502 /error/502-bad_gateway.html
ErrorDocument 503 /error/503-service_unavailable.html
#ErrorDocument 504 /error/504-gateway_timeout.html
#ErrorDocument 505 /error/505-http_version_not_supported.html
################################################################################

######################### Howto map /~user to /user ############################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)$ http://%{HTTP_HOST}/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)(.+)$ /~$1/$2
################################################################################

###################### Howto map /users/user to /users/user ####################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/users/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^users/([^/]+)$ http://%{HTTP_HOST}/users/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/users/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^users/([^/]+)(.+)$ /~$1/$2
################################################################################

RewriteCond %{HTTP_HOST} !monsite.be
RewriteRule (.*) http://www.monsite.be/$1 [R=301]

RewriteCond %{HTTP_HOST} ^monsite.be$
RewriteRule ^(.*)   http://www.monsite.be/$1  [QSA,L,R=301]

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_URI} !(banniere2.jpg|aa.gif)
RewriteCond %{http_REFERER} !(http://www.monsite.be/|http://www.siteB.be/|http://www.siteC.be/|http://www.siteD.com/|http://images.google.be/|http://images.google.com/|http://images.google.fr/|http://images.google.ca/)
RewriteCond %{HTTP_REFERER} !^http://www.monsite.be/.*$ [NC]
RewriteRule .*\.(gif|png|JPG|jpe?g)$ - [F]

Et je compte passer à :

Code:
################################## Errors ######################################
#ErrorDocument 301 /error/301-moved_permanently.html
#ErrorDocument 302 /error/302-moved_temporarily.html
#ErrorDocument 303 /error/303-see_other.html
#ErrorDocument 400 /error/400-bad_request.html
ErrorDocument 401 /error/401-authorization_required.html
#ErrorDocument 402 /error/402-payment_required.html
ErrorDocument 403 /error/403-forbidden.html
ErrorDocument 404 /erreur404.php
#ErrorDocument 405 /error/405-method_not_allowed.html
#ErrorDocument 406 /error/406-not_acceptable.html
#ErrorDocument 407 /error/407-proxy_authentication_required.html
ErrorDocument 408 /error/408-request_timed_out.html
#ErrorDocument 409 /error/409-conflicting_request.html
#ErrorDocument 410 /error/410-gone.html
#ErrorDocument 411 /error/411-content_length_required.html
#ErrorDocument 412 /error/412-precondition_failed.html
#ErrorDocument 413 /error/413-request_entity_too_long.html
#ErrorDocument 414 /error/414-request_uri_too_long.html
#ErrorDocument 415 /error/415-unsupported_media_type.html
ErrorDocument 500 /error/500-internal_server_error.html
#ErrorDocument 501 /error/501-not_implemented.html
#ErrorDocument 502 /error/502-bad_gateway.html
ErrorDocument 503 /error/503-service_unavailable.html
#ErrorDocument 504 /error/504-gateway_timeout.html
#ErrorDocument 505 /error/505-http_version_not_supported.html
################################################################################

######################### Howto map /~user to /user ############################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)$ https://%{HTTP_HOST}/$1/ [R,L] (ligne modifiée http remplacé par https)
RewriteCond %{REQUEST_URI} ^/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)(.+)$ /~$1/$2
################################################################################

###################### Howto map /users/user to /users/user ####################
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/users/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^users/([^/]+)$ https://%{HTTP_HOST}/users/$1/ [R,L] (ligne modifiée http remplacé par https)
RewriteCond %{REQUEST_URI} ^/users/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^users/([^/]+)(.+)$ /~$1/$2
################################################################################

RewriteEngine on (conseillé par infomaniak)

RewriteCond %{HTTP:X-Forwarded-Proto} !https (conseillé par infomaniak)

RewriteRule (.*) https://www.monsite.be/$1 [R=301,L] (conseillé par infomaniak www ou pas ?)

RewriteCond %{HTTP_HOST} !monsite.be
RewriteRule (.*) https://monsite.be/$1 [R=301] (ligne modifiée http remplacé par https)

RewriteCond %{HTTP_HOST} ^monsite.be$
RewriteRule ^(.*)   https://monsite.be/$1  [QSA,L,R=301] (ligne modifiée http remplacé par https)

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_URI} !(banniere2.jpg|aa.gif)
RewriteCond %{http_REFERER} !(https://www.monsite.be/|https://www.siteb.be/|https://www.sitec.be/|https://www.sited.com/|https://images.google.be/|https://images.google.com/|https://images.google.fr/|https://images.google.ca/) (ligne modifiée http remplacé par https)
RewriteCond %{HTTP_REFERER} !^https://www.monsite.be/.*$ [NC] (ligne modifiée http remplacé par https)
RewriteRule .*\.(gif|png|JPG|jpe?g)$ - [F]

Merci de me dire ce que vous en pensez ?
 
WRInaute occasionnel
tester tous les codes HTTP mouaih bof c'est un lourd, pas utile parce que 1, on "brouettise" pas cette zone avec des tests qui arriveront jamais ou 1 fois sur i milions. 2 je n'ai pas regardé mais pas sur qu'il y a it tout les 400 et tous les 500

On voi tassez vite déjà que copier coller n'importe quoi, même si ca peut marcher su un malentendu ; ca fait au mieux un truc qui met 3 plombes, se rappelle 50 fois. Une sorte de plat de spaghettis

Un peu lecture : https://craym.eu/tutoriels/referencement/url_rewriting.html

En gros, sans aller plus loin que 4 lignes de la doc : pourquoi démarrer 50 fois le moteur d'une voiture, déjà démarrée ?


Sinon essayer ceci : https://htaccess.madewithlove.be/

On attendrait quand même d'infomaniak un travailleur d'horloger, cou cou - cou cou pour justifier le cours du CHF
 
Nouveau WRInaute
Bonjour Rollback,

merci pour ta réponse à laquelle je n'ai en fait rien compris. Comme je l'ai dit plus haut je suis un amateur et je n'y connais rien en url-rewriting (j'ai repris le htaccess qu'on m'avait conseillé il y a 15 ans et j'essaye de le faire fonctionner avec https). Par contre, ce qui m'intéresse c'est d'avoir un fichier htaccess qui fonctionne, alors tu me proposes quoi comme code au final ?
 
WRInaute occasionnel
Je ne propose jamais rien, pas le temps d'étudier les cas de tous.
Au mieux je l'enseigne, au pire je le facture (mais pas aux amateurs)

ici par exemple il y a un bon turtoriel pour tous niveaux, je ne sais pas qui l'a écrit mais il est très bien et à l'avantage d'être clair alors que dans ce sujet, tous le monde écrit n'importe quoi et proclame que c'est le meilleur tutoriel


https://alexandre.alapetite.fr/doc-alex/redirections/
 
Nouveau WRInaute
Vu que je ne compte pas entamer des cours universitaires sur le sujet et que je suis bien conscient de ne pas maîtriser l'url rewriting, si quelqu'un peu juste me dire si mon htaccess est correct ou comment l'améliorer, je suis preneur merci ;)
 
Discussions similaires
Haut