web-dev-qa-db-fra.com

Comment remplacer en toute sécurité un site actif (sans base de données) par un site intermédiaire utilisant l'hébergement partagé Apache?

J'ai un PHP site Web d'environ 20 pages sans base de données sur l'hébergement partagé - il contient beaucoup de formulaires et beaucoup de visites. J'ai un sous-domaine de transfert sur le même serveur sur lequel j'ai téléchargé une nouvelle version du site.

Je souhaite remplacer le site actif par le site intermédiaire, mais je crains que cela ne cause d'erreurs ou d'inconvénients aux utilisateurs, par exemple ceux qui viennent de cliquer sur le bouton d'envoi d'un formulaire ou tout autre cas en général.

Une option que je connaisse consiste à tout copier du site intermédiaire vers le répertoire du site actif et à remplacer l'ancien site. Mais je ne sais pas comment cela affectera les utilisateurs actuellement en ligne, et cela peut avoir des conséquences que je ne suis pas au courant.

Je pense qu'une approche plus sûre serait d'empêcher les nouveaux utilisateurs d'entrer sur le site (je pense que cela peut être fait en utilisant le fichier .htaccess), puis de s'assurer que tous les utilisateurs ont quitté, ou les ont forcés d'une manière ou d'une autre à quitter le site, avant de les remplacer. le site en direct avec le site de mise en scène.

Y at-il une meilleure méthode que celle ci-dessus? Si non, comment puis-je m'assurer que tous les utilisateurs ont quitté le site avant de le remplacer par le nouvea?

5
Hassaan

Copier le site d'un dossier à l'autre est un bon début.

Ensuite, si vous utilisez un système de gestion de contenu, vérifiez tous les fichiers de configuration contenant des noms de chemins (ou noms de dossiers) et mettez-les à jour pour qu'ils correspondent aux noms de chemins appropriés pour le nouveau domaine vers lequel vous déplacez votre site.

Si vous avez écrit le code manuellement, vérifiez, après l'avoir copié, tous les liens du code lui-même pour vous assurer qu'ils pointent vers les URL correctes du nouveau domaine.

Par exemple, si vous avez du code qui contient:

<a href="http://old.com/123">

Vous le changeriez en quelque chose comme:

<a href="http://new.com/123">

Sauf que vous remplacez old.com et new.com par l'ancien nom de domaine correct et le nouveau nom de domaine, respectivement.

Effacez ensuite le cache de votre navigateur, testez tout ce qui se trouve sur la nouvelle URL et observez la barre d'adresse de votre navigateur pendant que vous testez pour vous assurer que l'ancien domaine ne réapparaît pas.

Lorsque tout est terminé, configurez .htaccess sur l'ancien domaine, de sorte que toute demande relative à une ancienne URL soit redirigée vers la nouvelle URL.

Ces lignes placées dans .htaccess devraient vous aider si votre serveur est Apache avec le module mod_rewrite installé et actif.

RewriteEngine On
RewriteCond %{HTTP_Host} ^www\.olddomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
1
Mike