[Résolu]Réécriture d'url et chemins absolus - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : [Résolu]Réécriture d'url et chemins absolus (/showthread.php?tid=4395) Pages :
1
2
|
RE: Réécriture d'url et chemins absolus - guile - 10-10-2009 Merci Allwise pour tes informations et ton aide. Pour répondre à ta question : pourquoi je réécris mes URL si c'es tporu utiliser le chemin standard du fichier? Parce qu'il y a des fichiers qui n'ont pas nécessairement besoin de réécrire l'url : les images, les css, les js... tous ces fichiers statiques. La réécriture d'url est ici utilisée pour retranscrire des "dossiers" en paramètres de index.php, car je trouvais que www.domaine.com/sousdomaine/fr/aide pour taper vers www.domaine.com/sousdomaine/index.php?lang=fr&page=aide était pas mal visuellement. La solution abordée est peut être inadapté au problème. Quelque chose m'a peut être échappé dans mon .htaccess (une astuce, un flags ...?) Je reste pour ma part un peu déçu de la réécriture d'url : d'une URL http://www.domaine.com/sousdomaine/fr/aide, je n'obtiens dans php que deux informations : - l'url de la requête d'origine : http://www.domaine.com/sousdomaine/fr/aide - le chemin du script réécrit : /home/monuser/public_html/sousdomaine/index.php Et il me manque une information capitale : - l'url du script réécrit : http://www.domaine.com/sousdomaine/index.php RE: Réécriture d'url et chemins absolus - Allwise - 10-10-2009 Je pense que t'as un problème d'organisation. 1° Tu fais ton site avec les tous les liens originaux, sans aucune réécriture nulle part. 2° Tu crées des règles de réécriture dans ton fichier .htaccess qui ne concernent QUE tes pages. C'est ce que font la plupart des framework et applications qui utilisent un point d'entrée unique, un routeur qui définit les ressources nécessaires en fonction des paramètres fournis etc... Exemple : Code : RewriteRule !\.(js|ico|gif|jpg|png|css|swf|txt)$ index.php Code : RewriteCond %{REQUEST_FILENAME} !-f De cette façon tu ne devrais avoir aucun problème de mélange d'url originales / réécrites. RE: Réécriture d'url et chemins absolus - guile - 10-10-2009 Je suis tout à fait d'accord avec toi sur tout ça, néanmoins la question originale est tout autre : Comment trouver l'URL absolue d'un script lancé via un url rewriting? Les frameworks supposent souvent une seule manière d'entrer dans un site, et je crois que je me prends la tête avec ça depuis le début. Merci de votre aide. Pour moi c'est résolu : pas de solution à mon problème pas foutu :-D RE: Réécriture d'url et chemins absolus - Allwise - 10-10-2009 Avec PHP_SELF c'est bon non ? Citation : Le nom du fichier du script en cours d'exécution, par rapport à la racine web. Par exemple, $_SERVER['PHP_SELF'] dans le script situé à l'adresse http://www.monsite.com/test.php/foo.bar sera /test.php/foo.bar. La constante __FILE__ contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant. Si PHP fonctionne en ligne de commande, cette variable contient le nom du script depuis PHP 4.3.0. Dans les versions antérieures, cette variable n'était pas disponible. RE: Réécriture d'url et chemins absolus - Findel - 10-10-2009 J'ai une solution à te proposer, mais c'est tordu... Utiliser la fonction proxy d'apache (si c'est bien le serveur http que tu utilise). Du coup, tu vas obtenir au final l'url que tu voulais dans PHP_SELF Dans ta ligne de rewriting, utilise l'option "P" : Code : RewriteEngine on J'ai écrit la règle sans la tester, mais c'est juste pour monter où mettre le [P] Quand aux images, css et autres scripts, pourquoi ne pas les acceder via des url absolues ? du genre <img src="/images/bidule.jpg" alt="bidule" />, ca t'éviterais de te poser la question de savoir où tu es |