Comment créer des URL en php?
Normalement, la pratique ou la très ancienne tradition de l'affichage de certaines page de profil est comme ceci:
www.domain.com/profile.php?u=12345
où u=12345
est l'id de l'utilisateur.
Au cours des dernières années, j'ai trouvé un site avec de très belles urls comme:
www.domain.com/profile/12345
Comment dois-je faire cela en PHP?
Comme un sauvage deviner, est-il quelque chose à voir avec la .htaccess
fichier? Pouvez-vous me donner plus de conseils ou des exemples de code sur comment écrire les .htaccess
fichier?
Vous devez vous connecter pour publier un commentaire.
Selon cet article, vous voulez un mod_rewrite (placé dans une
.htaccess
fichier) de la règle qui ressemble à quelque chose comme ceci:Et ce cartes les demandes de
à
Une autre possibilité est de le faire avec
forcetype
qui l'oblige à rien dans un chemin particulier pour l'utilisation de php eval le contenu. Donc, dans votre.htaccess
fichier, placez le code suivant:Et puis l'index.php peut prendre des mesures fondées sur le
$_SERVER['PATH_INFO']
variable:J'ai récemment utilisé dans une application qui fonctionne bien pour mes besoins.
.htaccess
index.php
J'essaie d'expliquer ce problème étape par étape dans l'exemple suivant.
0) Question
J'ai essayer de demander vous aimez ce :
je veux ouvrir la page facebook profil http://www.facebook.com/kaila.piyush
il obtenir l'id de l'url et de l'analyser pour profile.php fichier et retourner featch des données à partir de la base de données et afficher le nom d'utilisateur dans son profil
normalement, lorsque nous développer tout site, à son lien ressembler
http://www.website.com/profile.php?id=username
example.com/weblog/index.php?y=2000&m=11&d=23&id=5678
maintenant nous mettre à jour avec le nouveau style n'est pas de réécrire l'utilisation http://www.website.com/username ou example.com/weblog/2000/11/23/5678 comme permalien
1) .htaccess
Créer un .fichier htaccess à la racine du dossier ou de la mise à jour de l'existant :
À quoi ça sert ?
Si la demande est pour un véritable répertoire ou d'un fichier (qui n'existe plus sur le serveur), index.php n'est-ce pas servi, sinon chaque url est redirigée vers index.php.
2) index.php
Maintenant, nous voulons savoir quelle est l'action à déclencher, nous avons donc besoin de lire l'URL :
Dans index.php :
2) profile.php
Maintenant dans le profile.php fichier, on devrait avoir quelque chose comme ceci :
Façon Simple de le faire. Essayez ce code. Placez le code dans votre
htaccess
fichier:Il va créer ce type de jolies URL:
Pour plus htaccess Assez URL:http://www.webconfs.com/url-rewriting-tool.php
C'est en fait pas de PHP, c'est à l'aide du module mod_rewrite d'apache. Ce qui se passe est la personne qui demande le lien, http://www.example.com/profile/12345 et puis apache côtelettes de il en place à l'aide d'une règle de réécriture pour la faire ressembler à cela, http://www.example.com/profile.php?u=12345, pour le serveur. Vous pouvez trouver plus ici: Guide De Réécriture
ModRewrite n'est pas la seule réponse. Vous pouvez également utiliser les Options +MultiViews dans .htaccess et de vérifier ensuite
$_SERVER REQUEST_URI
pour trouver tout ce qui est dans l'URL.Il y a beaucoup de façons de le faire. Une façon est d'utiliser la règle RewriteRule techniques mentionnées plus tôt pour masquer les valeurs de chaîne de requête.
L'un des moyens que j'aime vraiment, c'est si vous utilisez le contrôleur frontal modèle, vous pouvez également utiliser des urls comme http://yoursite.com/index.php/path/to/your/page/here et d'analyser la valeur de $_SERVER['REQUEST_URI'].
Vous pouvez facilement extraire le /chemin/vers/votre/page/ici peu avec le code suivant:
À partir de là, vous pouvez l'analyser cependant il vous plaît, mais bon sang assurez-vous de nettoyer ça 😉
On dirait que vous parlez d'un service web RESTful.
http://en.wikipedia.org/wiki/Representational_State_Transfer
L' .fichier htaccess ne réécriture de tous les Uri pour pointer vers un contrôleur, mais qui est plus détaillé que vous voulez obtenir à ce point. Vous pouvez regarder la Évidement
C'est un cadre Reposant tout en PHP