OK, je crée une application de questionnaire qui est gérée par un seul utilisateur sur/gérer. Là, il peut créer plusieurs questionnaires, chacun avec un nom différent et un ensemble de paramètres (utilisateurs enregistrés, questions, données, etc.). Actuellement, les utilisateurs non-administrateurs (les preneurs du test) accèdent aux différents tests en se rendant à /index.php?t=Questionnaire%20Name. Évidemment, ce n'est pas la meilleure interface à donner aux utilisateurs. Je voudrais que les utilisateurs puissent accéder à ce test en allant dans/QuestonnaireName. Je pense que cela pourrait être fait avec mod-rewrite, mais je ne sais pas comment l'utiliser ou par où commencer. J'ai codé le tout dans JS, PHP et MySQL. Toute aide est appréciée. Merci.Utilisation du contenu de l'URL pour envoyer des données (post ou get) à une page PHP
Répondre
Voici un exemple pour vous y aller:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1
Mettez ceci dans un fichier appelé .htaccess
dans le même répertoire que index.php. Maintenant tout ce que vous appelez sera routé vers index.php, et vous pouvez obtenir l'URL avec $_SERVER['QUERY_STRING']
. Alors vous êtes libre de faire tout ce que vous voulez avec.
manière alternative, pour vous sauver de faire des modifications à index.php:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?t=$1
Notez le t=
après la index.php?
. Maintenant tout peut être trouvé à partir de $_GET['t']
, mais je ne peux pas garantir que ce sera infaillible car je n'ai pas utilisé cette méthode moi-même. Testez-le et voyez si cela fonctionne pour vous.
EDIT
Edité pour permettre l'accès aux répertoires physiques.
Vous devez utiliser mod_rewrite:
Exemple d'utilisation (il est allemand, je ne l'ai pas trouvé une meilleure solution): http://www.handcode.de/talks/phpug-mod_rewrite-20080312/slide-38.html
- 1. Utilisation de POST ou SESSION pour capturer des données
- 2. Envoyer POST du site PHP Zend-Framework
- 3. jQuery envoyer des données HTML via POST
- 4. PHP - Rediriger et envoyer des données via POST
- 5. Comment envoyer une requête GET depuis PHP?
- 6. Utilisation de Firebug pour envoyer des données de formulaire
- 7. Utilisation de HttpWebRequest pour envoyer des données/envoyer une image en utilisant multipart/form-data
- 8. Envoi de beaucoup de données via POST ou GET
- 9. Envoyer des choses avec PHP et POST
- 10. envoyer des données à un script PHP
- 11. persist données ViewModel de GET à POST
- 12. Utilisation de la requête ajax get de jQuery avec paramètres, renvoi du contenu de la page
- 13. Fonction pour transmettre des variables javascript à un fichier php via un GET ou un POST?
- 14. Rediriger les données GET d'une page en utilisant POST vers une autre page
- 15. Utilisation de Flex HTTPService pour envoyer HTTP POST au Webhook
- 16. Une «page de contenu» peut-elle envoyer des «propriétés» simples à une «page maître»?
- 17. get post de wordpress
- 18. POST ou GET dans XMLHttpRequest
- 19. Java - Envoi d'une requête GET ou POST
- 20. Sécurité AJAX: POST ou GET?
- 21. POST de données à une URL en PHP
- 22. Comment envoyer des données en PHP sans contenu-longueur?
- 23. Comment envoyer des données via POST?
- 24. php demande/post/get/session expiration
- 25. PHP - Méthode POST et GET sur la même page
- 26. comment obtenir Jquery pour envoyer des données POST pour remplir $ HTTP_RAW_POST_DATA var en PHP?
- 27. solution Netcat/Apache pour envoyer des données à PHP
- 28. Post cURL PHP sans retourner le contenu de la page
- 29. Envoyer des données à JSF page d'accueil
- 30. meilleure façon de stocker des données PHP sur une page pour une utilisation avec javascript/jquery?
Merci, cela a fonctionné presque exactement comme je le voulais aussi. Vraiment cool. Cependant, lorsque vous essayez d'accéder/gérer, évidemment mod_rewrite l'attrape et vous envoie juste à index.php. Existe-t-il un moyen de mettre une instruction if dans? – fishman
En outre, lorsque j'essaie d'accéder à/manager, la barre d'URL signale/manager /? T = manager. Cela ne se produit pas pour tout ce que j'ai essayé, et/manager est le seul sous-répertoire. – fishman
J'ai découvert comment accomplir ceci. Tout ce qu'il faut, c'est un autre RewriteCond, exactement le même que l'autre, mais avec -d, au lieu de -f. – fishman