Bonjour à tous,
je débute donc désolé pour les questions qui peuvent paraitre idiotes pour certains.
Ma question concerne plus un problème au niveau d'Apache, mais je l'ai rencontré en regardant le Tutoriel Vidéo PHP : Développer un site. J'espère que j'ai poster au bon endroit.
Bon, je commence. J'en suis à la vidéo n°2 " Tutoriel Vidéo PHP : Développer un site : Jour 2, La structure PHP".
Au bout de 9-10min il est expliqué la methode du rewrite d'url en utilisant des .htaccess. Voyant le principe je recopie les lignes.
Dans le premier .htaccess :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php/$1 [L]
Dans le 2ème :
RewriteEngine On
RewriteRule (.*) webroot/index.php [L]
Malheureusement, j'ai beau y mettre du miens cela ne semble pas fonctionner chez moi. J'obtient une erreur 404 :
The requested URL /Users/Daff/Sites/tutoPHP7j/webroot/index.php was not found on this server.
Je précise que je suis sur Mac OS X Lion.
Serveur Apache : celui fourni avec l'OS
PHP : idem
Daff
: étant mon compte utilisateur; Sites = la racine du serveur; tutoPHP7j = dossier dans lequel je souhaites recoder le tuto.
J'ajoute que j'ai cherché sur internet et remarqué qu'il fallait dans un premier temps que j' autorise l'utilisation des htaccess sur mon serveur apache.
Ceci est fait mais ...
Pourtant quand je tape l'adresse http://localhost/~Daff/tutoPHP7j/webroot/
je suis bien sur la page "index.php"
Merci d'avance pour vos réponses. Je débute et j'ai soif d'apprendre.
En fait sur Mac tu as le choix avec le serveur Apache de créer ton site dans 2 endroits :
Par contre grâce à ta réflexion, je me suis mis a tester sur le dossier système (le 1er choix plutôt que le 2ème) et cela semble fonctionner. Je vais donc travailler le tuto comme çà pour l'instant.
Si quelqu'un a une idée pour résoudre le pb avec le 2ème choix, je suis prenneur.
Oui c'est faisable mais pas très conventionnel c'est juste ça :)
http://www.novell.com/coolsolutions/tip/15832.html
Salut essaye de mettre $1 à la fin de ta ligne de code .
En fait le $1 sert a récupérer la première parenthèse c'est à dire (.*) !
RewriteRule (.*) webroot/index.php$1
Et dis moi se que sa fait.
Bonjour Kalagan,
je viens de faire le test mais cela fonctionne pas.
En tout cas, merci pour la réponse car cela m'a permis de voir que j'avais mal copié cette fameuse ligne 2.
J'avais écrit :
RewriteEngine On
RewriteRule (.*) webroot/index.php [L]
Au lieu de :
RewriteEngine On
RewriteRule (.*) webroot/$1 [L]
Pour info, je pense qu'il s'agit d'un problème de configuration d'Apache. Je fais cette réflexion d'après des tests que j'ai effectué :
Je vois bien que le Rewrite URL fonctionne mais il ne semble pas s'occuper du fichier "index.php" qui se trouve à la racine de "webroot" (Cf. 1er test)
Les .htaccess fonctionnent car on voit bien que quand tu es dans le ROOT de ton site il te dirige bien vers webroot.
Par contre pourquoi le caractère "~" avant ton user ? Ou point ton serveur web ?
Je suis aussi sur Lion et je n'est pas ça caractère, dans une url c'est bizarre...
C'est pas très conventionnel... Perso sur mac j'ai installé WAMP ! Et je le fait pointer ou je veux mon apache :)
J'ai voulu installer chacun des éléments un par un (Apache; PHP; MySQL) pour apprendre comment cela se fait sur mac. Je l'avais fait il y a pas mal de temps sur Windows. Mais apparemment, j'aurais dû installer MAMP.
L'important c'est qu'une des solutions fonctionne (choix n°1). Maintenant, comme je l'ai dit pour que je comprennes je vais chercher pourquoi avec ce fameux choix n°2 ce la ne fonctionne pas. Je vais regarder du côté du caractère "~" (tilde).
Si je trouve je posterais la solution. Ou si quelqu'un l'a connait, merci de la poster. Si çà peut servir à quelqu'un.
Mouais çà m'a l'air bien compliqué tout çà.
Merci pour l'info.
En tout cas je confirme bien que si j'utilise le dossier webserver du système /Library/WebServer/Documents cela fonctionne.
C'est bien l'adresse avec ce fameux tilde qui pose problème.
Merci en tout cas revlam. ;-)
Je reviendrais sans doute poser d'autres questions dans mon apprentissage. Cela fait plaisir de voir que le communauté GrafikArt est sympathique et réactive.