Pourquoi mon fichier .htaccess ne redirige-t-il pas vers https ? Comment réparer?

Sam

Oh mon Dieu, j'ai essayé cela un million de fois, un million de façons différentes d'utiliser Stackoverflow, d'utiliser des blogs, mon hébergeur l'a même fait à un moment donné, sans succès, ou peut-être que ma manipulation de la mise en cache l'a cassé.

Je veux rediriger tout le trafic HTTP:// vers https, cela dissuade les gens d'acheter.

C'est donc le contenu du fichier, qu'est-ce qui doit changer ???

AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
AddHandler server-parsed .html .htm
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilter DEFLATE .shtml
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.pottertour.co.uk/$1 [R,L]
</IfModule>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 10 days"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/css "access plus 0 day"
    ExpiresByType text/plain "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/webp "access plus 1 month"  
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-icon "access plus 1 year"
</IfModule>
# END EXPIRES

OK, j'ai essayé de supprimer les <IfModule mod_rewrite.c>wrappers selon le commentaire de MrWhite, et cela a semblé mettre le chargement dans une boucle constante. Je l'ai donc remis à ce qu'il était auparavant, mais sans les emballages. Comme ci-dessous.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^pottertour.co.uk [NC]   
RewriteRule ^(.*)$ https://www.pottertour.co.uk/$1 [L,R=301]   
  • Il bloque maintenant le chargement de mes polices google et styles.css. Vraiment CRITIQUE !
  • Il ne parvient pas non plus à rediriger.

Solutions et explications bien appréciées.

OK eh bien grâce à MrWhite j'ai eu une autre chance, l'ensemble du fichier .htacess se trouve maintenant à ceci:

AddType text/html .shtml
AddHandler server-parsed .shtml
Options Indexes FollowSymLinks Includes
AddHandler server-parsed .html .htm
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilter DEFLATE .shtml
</IfModule> 

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 10 days"
    ExpiresByType text/html "access plus 1 day"
    ExpiresByType text/css "access plus 10 day"
    ExpiresByType text/plain "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/webp "access plus 1 month"  
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-icon "access plus 1 year"
</IfModule>
# END EXPIRES

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

Remarque J'ai supprimé toutes les références à une redirection permanente en omettant le R=301

J'ai de toute façon défini une URL https:// canonique sur toutes les pages, donc je pense que l'ajout à .htaccess n'aide pas beaucoup.

Il n'accède toujours pas à mes styles.css ou ne télécharge pas les polices Google. Le navigateur ne s'exécute pas non plus correctement sur les accordéons javascript de la page (comme c'est bizarre d'être intégré à la page !)

J'ai contacté 1&1 mon hébergeur et je lui ai demandé de s'assurer que le fichier .htacess est « actualisé »... Je vais partir à la recherche de Cloudfare.

Monsieur Blanc

Vos modifications/commentaires n'aident pas vraiment malheureusement. Cependant, après avoir jeté un rapide coup d'œil à votre site, vous sembleriez utiliser Cloudflare (qui agit comme un proxy devant votre serveur d'applications), auquel cas vous devrez faire quelque chose comme ce qui suit à la place pour rediriger HTTP vers HTTPS :

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Vous n'avez pas besoin de l' <IfModule>emballage.

Vous devez d'abord tester avec une redirection 302 (temporaire) pour éviter les problèmes de mise en cache et ne passer à une redirection 301 (permanente) qu'une fois que vous avez confirmé qu'elle fonctionne comme prévu. Les 301 sont mis en cache de manière persistante par le navigateur, ce qui peut rendre les tests problématiques.

Vous devez vider le cache de votre navigateur avant de tester.

Cela ne canonise pas le sous-domaine www/non-www.


MISE À JOUR : J'ai remarqué que bien que la redirection ci-dessus fonctionne maintenant, vous n'envoyez que des demandes de sous-domaine www via Cloudflare. Les requêtes pour le domaine apex (c.-à-d. example.com) vont directement à votre serveur d'origine (Apache) et ne sont donc pas redirigées par la règle ci-dessus.

Tout (ou rien ) doit être envoyé via Cloudflare, il s'agit donc vraiment d'un problème de configuration DNS. Cependant, nous pouvons résoudre ce problème en implémentant une redirection non-www vers www .htaccess avant la redirection HTTP vers HTTPS ci-dessus. (Je suppose que www est l'URL canonique préférée ?)

Par exemple:

RewriteEngine On

# Redirect non-www to www (and HTTPS)
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# Redirect HTTP to HTTPS (Cloudflare)
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Notez que la règle précédente (HTTP vers HTTPS) est désormais la deuxième.

Cela suppose que vous n'avez pas d'autres sous-domaines. c'est à dire. example.comet www.example.comseulement. Si vous avez d'autres sous-domaines, vous pouvez décider de coder en dur le domaine dans la première règle (similaire à ce que vous avez fait précédemment), par exemple :

# Redirect non-www to www (and HTTPS) - domain hardcoded
RewriteCond %{HTTP_HOST} =example.com
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Pourquoi mon composant de connexion ne redirige-t-il pas les connexions réussies vers la bonne page ?

Comment réparer mon htaccess, il redirige toutes mes pages vers un seul index

.htaccess ne redirige pas http vers https

Pourquoi mon fichier .htaccess ne fonctionne-t-il pas dans cPanel?

.htaccess redirige correctement de HTTP vers HTTPS mais pourquoi HTTP fonctionne-t-il toujours ?

Pourquoi mon formulaire html Netlify fonctionne-t-il, mais ne redirige-t-il pas vers une page de confirmation ?

Le fichier htaccess ne redirige pas tous les liens vers https et ne cache pas des parties de l'url

Pourquoi ne travaille-t-il pas sur mon fichier?

Pourquoi mon JS ne redirige-t-il pas la page Web?

Pourquoi php artisan tinker redirige-t-il vers mon répertoire de projet ?

Pourquoi ma page ne redirige pas vers Google si je donne également un mot de passe correct? S'il vous plaît voir mon code

Pourquoi cela ne redirige-t-il pas vers / dev / null?

pourquoi 2> $ NULL ne redirige-t-il pas les erreurs vers NULL?

Pourquoi Node ne détecte-t-il pas mon fichier récemment créé

Installer Java 8 sur un Mac : Pourquoi ne puis-je pas télécharger le fichier ? Il redirige vers une connexion

Pourquoi mon fichier css ne se lie-t-il pas à mon fichier html?

Pourquoi mon chemin vers mon image ne fonctionne-t-il pas dans React?

Pourquoi mon DNS ne pointe-t-il pas vers mon serveur de gouttelettes Digital Ocean?

Pourquoi mon git ne pousse-t-il pas vers mon compte github ?

Pourquoi mon script bash ne s'exporte-t-il pas vers mon environnement ?

Pourquoi ce code ne fonctionne-t-il pas, comment le réparer?

Pourquoi Swift ne trouve-t-il pas mon fichier MOV dans mon ensemble d'applications?

pourquoi mon programme ne sauvegarde-t-il pas mon fichier?

Pourquoi mon scanner ne lit-il pas mon fichier ?

Pourquoi ma balise d'ancrage dans Thymeleaf ne redirige-t-elle pas vers le fichier local

Pourquoi mon fichier .html ne se connecte-t-il pas au fichier .js ?

La redirection dans mon .htaccess vers https ne fonctionne pas

Http ne redirige pas vers https nginx

HTTP ne redirige pas vers HTTPS (SpringBoot)

TOP liste

  1. 1

    Comment utiliser HttpClient avec TOUT cert ssl, quelle que soit la « mauvaise » est

  2. 2

    Comment afficher du texte au milieu de div avec une couleur d'arrière-plan différente?

  3. 3

    Résultat de l'échantillonneur JMeter : comprendre le temps de chargement, le temps de connexion et la latence

  4. 4

    Pourquoi Object.hashCode () ne suit pas la convention du code Java

  5. 5

    Modbus Python Schneider PM5300

  6. 6

    Comment faire une recherche partielle et obtenir un score pertinent dans Elasticsearch

  7. 7

    Autocomplete avec java, Redis, Recherche élastique, Mongo

  8. 8

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  9. 9

    optimiser les opérations du serveur avec elasticsearch: traitement des filigranes de disque bas

  10. 10

    MasterService d'ElasticSearch prend trop de temps pour calculer l'état du cluster et lancer ProcessClusterEventTimeoutException

  11. 11

    Comment changer la couleur de la police dans R?

  12. 12

    Comment vérifier si un utilisateur spécifique a un rôle? Discord js

  13. 13

    Existe-t-il un moyen de voir si mon bot est hors ligne ?

  14. 14

    Faire une requête HTTP avec Elixir et Phoenix

  15. 15

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  16. 16

    Comment analyser un hachage Ruby plat en un hachage imbriqué?

  17. 17

    Comment empêcher Spring Boot de créer automatiquement une instance du bean 'entityManagerFactory' au démarrage?

  18. 18

    Ajustement non linéaire avec R

  19. 19

    Quelque chose dans le cluster Elasticsearch 7.4 devient de plus en plus lent avec les délais de lecture de temps en temps

  20. 20

    comment afficher un bouton au-dessus d'un autre élément ?

  21. 21

    Comment créer une nouvelle application dans Dropbox avec des autorisations complètes

chaudétiquette

Archive