[résolu] réécriture d'URL et générat° du .htaccess

Nouveau WRInaute
Bonjour,
J'était contente de moi car je pensais avoir tout bien compris à la réécriture des URL, mes test marchaient, puis il a fallu que je l'applique à l'ensemble de mon site, et là patatra ... :cry:
En fait tant que j'écris le fichier .htaccess à la main tout fonctionne. Mais ce n'est pas applicable car j'ai trop de paramètres à écrire et je ne trouve pas ça très pratique.
J'ai fais un script qui reprend exactement mon test (qui fonctionnait). La génération du .htaccess se fait sans problème, mais par la suite j'obtient une erreur 500 (plus aucune page n'est visible). J'ai remarqué que cette erreur disparaissait dès que je supprimais mon .htaccess.
Avez-vous déjà tenté qq chose de la sorte ??
Ai-je loupé qq chose ??

Merci d'avance,
Elodie
 
WRInaute impliqué
Je ne suis pas un grand specialiste en url-rewriting, mais pour appliquer une regle a l 'ensemble du site, mieux vaut editer le fichier de configuration apache (apache2.conf ou httpd.conf), si tu y as acces.
 
Nouveau WRInaute
Bah elle m'arrange pas vraiment ta solution ... :(
Parce que j'ai besoin que mes réécritures soient fonctions du contenu de ma base de données (articles, rubriques ...) donc je ne peux pas passer directement tous les paramètres dans le fichier de configuration apache.

Elodie
 
WRInaute discret
Imagines que tu demandes à voir une page sur un serveur. Le serveur regarde s'il y a un fichier htaccess. S'il n'y en a pas, il execute le php. Mais si le php créé le htaccess, il le fait trop tard. Ce fichier (htaccess) a déjà été demandé, et ne le sera plus.
A mon avis, c'est comme ca que ca se passe. Le script peut créer un fichier htaccess (bien que je n'en sois meme pas sûr), mais une fois créé, le fichier htaccess n'est pas invoqué.

Par contre, il est possible, dans un fichier htaccess, de définir des niveaux, dans les répertoires. Tel répertoire = telle action, tel autre = telle autre, etc..

C'est peut etre plus comme ca que tu devrais faire (ca dépend du probleme, tu diras.)

Voilà ,A+, Nico.
 
Nouveau WRInaute
Ok, mais si le fichier .htaccess n'est plus invoqué comme tu le dis, mon serveur ne devrai pas planter (enfin c'est ce qu'il me semble)
Et la, après la création du fichier j'ai un bo plantage dès que j'essaye d'acceder à une page et ça aussi bien avec les nouvelles adresses qu'avec les adresses réélles.

Personne n'a déjà réalisé ce genre de chose avant moi ?? même si c'est pas du php je suis preneuse. Ce que je cherche c'est surtout une idée qui me permette de faire fonctionne les URL rewriting sans avoir à me taper toutes les adresses à la main

Elodie
 
WRInaute occasionnel
dody a dit:
Personne n'a déjà réalisé ce genre de chose avant moi ??
Si, j'ai généré des regles de réécriture lorsque je suis passez d'index numérique ( /article-3.html ) à des index en toute lettre ( /articles/mots-clé.html ). Comme il n'y a aucun rapport entre les chiffre et les mots-clé, j'ai du faire autant de redirection qu'il y a de page à partir des infos de la BdD.

Le script en lui même est simple et dépend des tables de ta BdD. Dejà essayes avec quelques règles de réécriture faitent à la main et vérifie que cela fonction pour ces cas particulier. Dès que c'est bon tu as des exemples pour faire ton script qui va te générer l'ensemble des réécritures.

Après avoir fait ton script et générer ton .htaccess, edite le pour vérifier qu'il a "une bonne tête". on as vite oublier un retour chariot qui casse tout...Si lorsque tu le test tu as une erreur 500, prend une regle au hazard parmis celle générées et teste la seule.
- Si c'est Ok, c'est certainement que tu as oublié un cas particulier. Par dichotomie tu devrais vite trouver la règle que pose problème et adapter le script.
-Si c'est Nok, alors il est probable que ton script est faux... compare bien les règles générées avec ton exemple de départ.

N'essaie pas de tous faire fonctionner d'un coup mais vas y petit à petit en validant chaque étape et tu y arriveras.

Mirgolth
 
Nouveau WRInaute
Mirgolth a dit:
Si, j'ai généré des regles de réécriture lorsque je suis passez d'index numérique ( /article-3.html ) à des index en toute lettre ( /articles/mots-clé.html ). Comme il n'y a aucun rapport entre les chiffre et les mots-clé, j'ai du faire autant de redirection qu'il y a de page à partir des infos de la BdD.
Mirgolth

C'est exactement ce que je souhaite faire. Mais je ne voyait pas d'ou mon erreur pouvait provenir alors j'ai pensé que ce que je voulais n'etait pas réalisable.
Maintenant que tu me dis que tu as déjà fait ça avec succès je vais m'acharner à comprendre mon erreur.
Merci pour cet encouragement ! :)

Elodie
 
Nouveau WRInaute
Oh YES !!!!!!!!!!!!!!!!!!!!!!!! :D

J'ai trouvé mon erreur !!!
Très bête, comme la plupart des erreurs sur lesquelles on buttes pdt des heures ...
En fait j'utilise "Options +FollowSymlinks" et quand je l'ecrivais dans le .htaccess j'oubliais systématiquement le s de "Options"
Maintenant ça fonctionne avec mon exemple donc ça devrait aller pour la suite 8)

Merci encore, mon w.e est sauvé
Elodie
 
Discussions similaires
Haut