Masquer toute l'url après le nom de domaine

Eléphanteau du PHP | 11 Messages

31 janv. 2019, 18:11

Bonjour. Après des recherches, je n'ai pas trouvé donc merci d'avance.
Quelle est selon vous la meilleure démarche pour cacher l'adresse URL qui vient après le nom de domaine (la racine) ?
(Ne me demandez pas l'utilité, c'est une demande). Je m'explique.
Admettons 154 pages d'un site (www.machin.org/), il faudrait que toutes les pages php ( ex: www.machin.org/page1.php etc...) , pointent vers une URL unique : www.machin.org - Ce qui revient à masquer ce qui arrive après www.machin.org

Je pense que ça se passe du coté du .htacess avec l'URL Rewriting mais je n'en suis pas sûr.
Selon vous je suis sur la bonne piste ou il y a plus facile ?

Voilà j'espère avoir été clair ?

PS: Si un administrateur passe par là... le champ:hover de recherche en haut à droite sous le menu déborde sur l'accès à son profil. On y accède mais faut faire plusieurs essais...

Mammouth du PHP | 2703 Messages

31 janv. 2019, 19:42

on doit toujours pouvoir accéder à 154 contenus différents ?

Eléphanteau du PHP | 11 Messages

31 janv. 2019, 19:46

Oui, sinon je ferais une redirection tout simple.
Les adresses url de chaque page sont uniques (de fait...) mais l'url affichée doit être la même pour toute.

L'autre difficulté que je n'ai pas mentionné, c'est qu'il s'agit de Wordpress et qu'apparemment il gère déjà leur propre système de rewriting. Du coup, je me penche aussi sur la fonction Wdp ("WP_Rewrite"). Peut-être que l'opération est simple via cette fonction ?
Un article sur le sujet :
https://www.hongkiat.com/blog/wordpress-url-rewrite/

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

31 janv. 2019, 22:19

Une iframe avec une largeur et une hauteur de 100% :-D

Ou sinon tu charges le contenu de toutes tes pages en ajax.


Quoiqu'il en soit il faut être conscient que c'est contraire à toutes les bonnes pratiques du web et que ton site ne sera probablement jamais indexé correctement par Google.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

01 févr. 2019, 07:50

Je ne vais pas rentrer dans les détails, mais l'idée du URL unique se justifie pour ce projet...
Sinon merci Arthur pour ta proposition mais avec un IFRAME cela ne conviendra pas, puisqu'il ne s'agit pas de rapporter les 156 pages dans une seule, mais d'avoir 156 pages, donc 156 urls différentes et de n'afficher qu'une seule et unique URL pour toutes. Je ne sais pas si je suis clair ?

En gros : :arrow: Si je résume... est-ce possible d'avoir une URL ( protocol + hostname + path) mais de n'afficher "publiquement"que les 2 premiers, c'est à dire de masquer le path?

Mammouth du PHP | 1967 Messages

01 févr. 2019, 10:30

fonctionner comme tu le suggère ne marchera pas, ton navigateur ne peux pas différentier les pages si leur url est identique.

l'iframe fonctionnera car la navigation se fera à l'interieur de celle-ci sans modifier l'url de la page d'iframe.
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 févr. 2019, 12:05

Voici un exemple : http://www.phpfrance.org

C’est une iframe en fullscreen et donc la seule url affichée même si tu navigues dans les différents posts qui ont des urls différentes en https://forum.phpfrance.com/.....
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

01 févr. 2019, 12:13

L'URL des pages n'est pas identique, sinon oui je suis d'accord çà ne peut pas fonctionner. C'est juste le path de l'URL qui n'est pas affiché. Tu vois la différente?

Je sais que ça peut fonctionner car J'ai crée un site test avec wp thème de base : Twenty Nineteen et dans le navigateur OPERA ( Chrome sans la pub en résumé), le path est masqué (par le navigateur je pense... car dans CHROME tout le path est affiché). Le path s'affiche au survol de la barre d'URL toujours dans OPERA. Celà signifie donc, que c'est possible d'avoir NON PAS une URL identique mais de tronquer l'affichage.

Pour l'IFRAME... j'ai déjà intégré des cartes via cette méthode, mais je ne pige pas votre logique ?
car si il y a 154 pages cela voudrait dire qu'il faudrait créer une fonction pour renseigné le SRC de l'IFRAME via du php ?
dans la page unique : www.machinchose.org
Je ne suis pas un spécialiste du .php mais c'est propre comme méthode ? Y'a pas plus simple ? Pardon :-) mais la méthode IFRAMES comme çà me paraît un peu bancale. Peut-être que je me trompe ?

Eléphanteau du PHP | 11 Messages

01 févr. 2019, 12:19

Voici un exemple : http://www.phpfrance.org

C’est une iframe en fullscreen et donc la seule url affichée même si tu navigues dans les différents posts qui ont des urls différentes en https://forum.phpfrance.com/.....
D'accord. Merci pour cette exemple c'est plus clair. Je ne comprenais pas parceque j'envisageais les iframes sans navigation..
Du coup je vais me pencher sur cette méthode.

EDIT : J'ai essayé, c'est effectivement simple.

Merci pour vos réponses.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 févr. 2019, 12:39

Pour revenir rapidement sur les bases des url :

- URL, c'est l'adresse "unique" d'un document sur internet.
- Deux pages différentes ne peuvent pas avoir la même url.
- En revanche une page peut afficher différents contenus, et il est possible de cliquer sur des liens pour naviguer dans les contenus sans que l'url ne change puisqu'on resterait sur la même page mais en allant chercher et afficher le contenu d'une autre page.

C'est sur ce dernier point qu'il y a 2 façon de procéder :
- Soit via une iframe, et je t'ai fait la démo
- Soit en chargeant les contenus via de l'ajax



Pour le comportement d'Opéra, Ils ont supprimé l'affichage de l'url complète pour des raisons d'esthétique. Si tu vas dans les options tu peux demander de rétablir le fonctionnement normal, c'est juste un comportement du navigateur.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

01 févr. 2019, 12:46

Pour le comportement d'Opéra, Ils ont supprimé l'affichage de l'url complète pour des raisons d'esthétique. Si tu vas dans les options tu peux demander de rétablir le fonctionnement normal, c'est juste un comportement du navigateur.
Oui, j'ai bien compris. Mais justement LA QUESTION c'est bien celle là. Comment OPERA arrivent t-ils à masquer le PATH.
Ils ont bien fait une fonction pour celà sans IFRAME, ni AJAX ?
Les urls sont uniques bien sûr. Mais rien n'empêche de créer un masque... Du coup l'url devient "la même" même si comme tu le dit justement, ce n'est pas possible. Un peu comme en css avec opacity="0" ou z-index="-999" peut importe la technique... L'élément existe mais on le voit pas. Y'a pas une fonction "opacity du path" en PHP ? :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 févr. 2019, 14:28

Non justement tu n'as pas compris.
Opéra est un navigateur, pas un site internet.
Donc ils font ce qu'ils veulent de la barre d'adresse.

Mais ça n'a rien à voir avec le site qui est affiché dans le navigateur qui ne peut pas avoir la main dessus, et encore moins à voir avec PHP qui est un langage exécuté du côté du serveur et non pas du côté du navigateur.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 11 Messages

01 févr. 2019, 14:52

Mais ça n'a rien à voir avec le site qui est affiché dans le navigateur qui ne peut pas avoir la main dessus, et encore moins à voir avec PHP qui est un langage exécuté du côté du serveur et non pas du côté du navigateur.
D'accord. Si je résume ce que vous dites, il est donc impossible de masquer le path d'une url autrement que par la technique de l'IFRAME ou de l'AJAX.
Modifié en dernier par bdpnl le 01 févr. 2019, 15:01, modifié 1 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 févr. 2019, 14:58

D'accord. Si je résumece que vous dites, il est donc impossible de masquer le path d'une url autrement que par la technique de l'IFRAME ou de l'AJAX.
Plus exactement, il est impossible de masquer le path dans la barre d'adresses du navigateur quelque soit la méthode utilisée.

En utilisant une iframe ou de l'ajax, ta page (qui sera celle de l'url que tu auras tapée) servira de proxy vers d'autres pages mais techniquement ce sera toujours cette page qui est chargée dans le navigateur.
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2703 Messages

01 févr. 2019, 15:36

www.machinchose.org/page20.php
le script appelé dans cette page met dans une variable de session que c'est le contenu 20 qui est demandé. ensuite il fait une redirection telle que le navigateur change l'url dans la barre d'adresse vers www.machinchose.org/
le script appelé regarde si la variable de session disant quelle page doit être appelée est remplie ou non. si c'est rempli, alors cela affiche le contenu 20, si c'est vide, la home du site.

c'est une solution à ne pas mettre en œuvre pour un site public.