Remplacez toutes les occurrences de “http” à “https” sur une page wordpress
Je suis dans le processus de mise en œuvre de SSL sur certains de mes wordpress alimenté pages du site.
Actuellement, je suis de contenu mixte sur la garantie de pages - mon thème personnalisé comprend un grand nombre de liens et attributs src qui se produisent sur toutes les pages. Les liens apparaissent dans l'en-tête, pied de page, la navigation (généré automatiquement par wordpress fonction) et la barre latérale (partiellement à partir d'un plugin). Alors que je pourrais théoriquement écrire une coutume d'en-tête et pied de page pour les pages protégés, il serait impossible d'utiliser le plugin et la navigation sur la page sécurisée.
Ce que j'ai essayé d'accomplir toute la journée est d'écrire un script javascript ou jQuery fonction qui change toutes les occurences de "http" à "https" sur les pages qui sont diffusées via SSL.
Ce problème de façon flagrante m'a montré les limites de ma capacité de codage. Problématique, c'est que la enfin servi document se compose de plusieurs fichiers php, j'en ai peu de contrôle sur (aurait à modifier le plugin(s) qui sont (A) plutôt complexe et (B) je voudrais mettre à jour dans le futur). Aussi les expressions régulières sont encore un mystère pour moi.
Je ne sais pas si cela est possible et si le déclenchement de la changer avec $(document).prêt ou fenêtre.onload ne serait pas trop tard de toute façon, depuis le navigateur sera question de contenu mixte d'avertissement plus tôt.
Merci d'avance, Johannes
OriginalL'auteur Johannes Pille | 2011-05-19
Vous devez vous connecter pour publier un commentaire.
Je pense que vous devriez utiliser un plugin comme "WordPress HTTPS". Il y a aussi de nombreux cas de bord que vous devez être conscient (comme les plugins tiers, vous n'avez pas le contrôle) et à l'aide d'un bien établis add-on comme celui-ci serait une approche intéressante.
Il avait attrapé un buggy version de ce plugin retour dans la journée. Fonctionne comme un charme de nos jours...
ce plugin a été cassé quand je l'ai juste essayé maintenant. Dès que j'ai sauvé la mise un les ordures cookies dans mon navigateur qui a provoqué l'ensemble du domaine à accrocher pour moi. Juste pour que le navigateur vous l'esprit, dès que j'ai effacé les cookies, il serait de charger à nouveau, mais si je suis allé de nouveau dans la zone d'admin, et a essayé de sauver les paramètres du plugin de nouveau tout simplement accrocher une fois de plus.
dit ce plugin est de 2 ans, mais est-il encore bon?
OriginalL'auteur GmonC
Avez-vous regardé l'indépendant du protocole relatif préfixe d'url?
E. g. si vous avez des
Il utilisera le protocole de la page est actuellement sur.
Plus d'infos: http://paulirish.com/2010/the-protocol-relative-url/
(+1) Vous apprenez quelque chose de nouveau chaque jour!
OriginalL'auteur Matty F
Je suis d'accord avec les autres posters, qui suggèrent qu'il existe de meilleures façons de faire ce que vous êtes après. Avec cela dit, il semble que vous êtes dans une impasse, alors laissez-moi vous proposons une fissure à elle. (BTW, chapeau de pointe et un +1 vote pour le protocole relatif URL; je ne savais pas à ce sujet!)
De toute façon, je suppose que vous êtes après est dans
<a>
des balises, mais il devrait être facile d'extrapoler à d'autres:Avec cette aide offerte, je vous encourage à voir si il y a de plus sûr /plus moyen pratique de faire ce que vous essayez de faire. Je vais aussi mentionner que cette approche sera probablement seulement pour les liens; la modification des CSS et des références de script après le chargement de la page sera certainement se retourner contre vous et ne vous obtenez le résultat que vous souhaitez.
Avis ":" document".emplacement.protocole === 'https:'".
if (href != null && href.indexOf...)
depuis ancrage, les balises sont pas tenus d'avoir hrefs.OriginalL'auteur Luke Sneeringer
Je pense que vous devriez faire cela sur le côté serveur, via la définition d'un cookie ou quelque chose comme ça au lieu d'utiliser JavaScript pour gérer un tel potentiellement dangereux trou de sécurité.
OriginalL'auteur Jacob Relkin
si vous ne voulez assurez-vous il n'y a pas de contenu mixte lorsqu'une requête HTTPS est fait, essayez d'ajouter simple extrait de code pour l' "function.php" fichier du thème courant.
POUR:
CONTRE:
OriginalL'auteur aequalsb
Eu exactement ce problème aujourd'hui, wordpress-https ne fonctionne pas du tout pour moi, la cause de mon ensemble du site, à accrocher dans mon navigateur une fois que j'ai essayé d'enregistrer les paramètres. J'ai trouvé beaucoup plus simple plugin qui a fait le tour du plus bel effet: http://wordpress.org/extend/plugins/ssl-insecure-content-fixer/
Comme une note de côté, si vous utilisez un proxy inverse comme nginx comme je suis, vous aurez besoin de suivre les conseils ici: http://blog.netflowdevelopments.com/2013/04/10/fixing-this-page-includes-script-from-unauthenticated-sources-problem-with-ssl-wordpress-install-on-apachenginx-server/
essentiellement de mettre ceci:
if (stripos(get_option('siteurl'), 'https://') === 0) {
$_SERVER['HTTPS'] = 'activé';
}
à la fin de votre wp-config.php fichier
OriginalL'auteur unc0nnected
Après toutes les autres étapes de migration si vous avez encore de contenu mixtes:
si ok,
à partir de: https://helgeklein.com/blog/2015/01/switching-wordpress-site-http-https/
OriginalL'auteur n611x007
Il est préférable de changer l'héritage des Url dans la base de données de niveau, à mon humble avis. Pour remplacer toutes les
http://
occurrences avec indépendant du protocole//
, de l'exécution de ces SQLs:Pour une seule cité occurrences:
Pour plus, consultez ici
OriginalL'auteur abhisek