0
votes

Comment conserver le même chemin d'URL pour deux pages différentes en utilisant Htaccess

Je veux changer ma page d'origine du site Web après la prise d'un plan Premium, mais le chemin de l'URL reste le même.

Si l'utilisateur n'est pas prime, mon site Web indiquant l'URL chemin de vue: www.mydomain.com/user-545 (page d'origine - www.mydomain.com/page1.php)

Mais après l'utilisateur prenant mon plan Premium, je dois rester le chemin de l'URL même www.mydomain.com/user-545 mais besoin de changer ma page d'origine - www.mydomain. com / page2.php


1 commentaires

Qu'est-ce que tu as essayé jusque-là? Montrez votre code?


4 Réponses :


0
votes

Vous voudrez configurer un masque d'URL.

Dans votre fichier haccessé, vous ajouterez quelque chose comme: xxx

ou vous voudrez peut-être définir up d'un proxy comme expliqué dans Cette réponse .


0 commentaires

0
votes

Vous pouvez atteindre le but de faire un tour. Définissez Cookie, par exemple, user_logged_in code> Lorsqu'un utilisateur est connecté et supprimez lors de la déconnexion d'un utilisateur. Ensuite, vérifiez si l'utilisateur est connecté, dirigez-vous à l'utilisateur au page2.php code> sinon, page1.php code> paramètre réécritecond code> et RewriteRule code> à l'aide de .htaccess code> en vérifiant si ce cookie user_logged_in code> existe ou non.

Assurez-vous que Module de réécriture STRUT> est activé. Puis configurez réécritecond code> et rédreule code> comme suit: p>

RewriteEngine On

RewriteCond %{HTTP_COOKIE} !user_logged_in [NC]
RewriteRule ^/?user-[0-9]+$ /page1.php

RewriteCond %{HTTP_COOKIE} user_logged_in [NC]
RewriteRule ^/?user-[0-9]+$ /page2.php

// Other rules


2 commentaires

Ce n'est pas une très bonne idée, à moins que votre cookie soit également cryptographiquement protégé d'une manière ou d'une autre. N'oubliez pas que le cookie est contrôlé par l'utilisateur . Pour travailler dans HTACCESS, vous avez besoin du cookie (son nom) pour rester identique, alors si le contenu reste aussi identique ou n'est pas pertinent, puis une fois que le mécanisme est connu, tout le monde peut se faire promouvoir " prime". Donc, le contenu de la cookie doit être validé côté serveur. Et si vous avez besoin de faire une validation côté serveur quand même, pourquoi ne pas faire seulement la validation du serveur Server?


Ouais! tu as raison! J'ai oublié de mentionner cela. Merci!



2
votes

Il est préférable d'utiliser la condition basée sur la page URL pour inclure la page correspondante.


0 commentaires

0
votes

Pourquoi cela en .htacte? Ne serait-il pas plus simple de le faire dans PHP?

  • supprimer le code de démarrage de la session de page1 et page2 (c'est probablement le même) et passer à 'session-start.php'
  • (facultatif) Vous pouvez déplacer le code le plus courant de page1 et page2 en session-start.php
  • renommer page1 à normal.php
  • renommer page2 à premium.php
  • créer de nouveau page1.php:

    nécessite "session-start.php"; Si (Array_Key_exists ('Premium', $ _Session)) { Si ($ _Session ['Premium']) { inclure 'prime.php'; sortir(); } } inclure 'normal.php';

    Vous avez terminé.


0 commentaires