rubenxela Posté 15 Septembre 2004 Posté 15 Septembre 2004 Bonjour, Depuis quelques heures je bloque sur le rewriting d'un site spip alors que je fais exactement ce que j'ai toujours fait (et qui fonctionne), que je travaille sur le même serveur (multidomaine Mediaplan OVH) . Je ne comprends donc pas ce qui se passe. Je récapitule donc : - serveur OVH mut - spip version 1.7.2 - fichier inc-urls.php3 renseigné > html - cache vidé moulte fois - fichier .htaccess (le même que sur mes autre ssites spip sur le même serveur) RewriteEngine onRewriteRule ^article([0-9]*).html$ /article.php3?id_article=$1 [QSA,L] RewriteRule ^rubrique([0-9]*).html$ /rubrique.php3?id_rubrique=$1 [QSA,L] RewriteRule ^breve([0-9]*).html$ /breve.php3?id_breve=$1 [QSA,L] RewriteRule ^forum([0-9]*).html$ /forum.php3?id_forum=$1 [QSA,L] RESULTATS > - sur mon index les url du type article1.html sont bien déclenchées - mais en cliquant dessus ça me renvoie une 404 !!!! (que ce soit pour article ou rubrique) - j'ai essayé avec plusieurs squelettes ça ne change rien - j'ai fait des tests sur le htaccess du coup et rien non plus. J'en perds mon latin, quand je m'y suis collé ça me semblait pas sorcier vu que je l'avais déjà fait sans problème mais là j'en devient fou !! Hypothèse : - erreur sur la nouvelle version 1.7.2 de spip ??? quelqu'un y a déjà passé le rewriting ?? - sinon je ne vois pas et je compte bien sur vous pour m'éclairer un peu. Si vous voulez voir l'url www.jahmusik.net/spip/ > il n'y a qu'1 article de développé en haut avec photo vous verrez, le squelette est en développement.
Dan Posté 15 Septembre 2004 Posté 15 Septembre 2004 Salut Rubenxela... tu donnes le problème et la réponse à la fois... L'URL que tu donnes mentionne un répertoire /spip ... alors que tes règles redirigent vers la racine Une ligne comme: RewriteRule ^article([0-9]*).html$ /article.php3?id_article=$1 [QSA,L] devrait s'écrire plutôt: RewriteRule ^article([0-9]*).html$ article.php3?id_article=$1 [QSA,L] (notes bien le / qui disparaît dans le deuxième argument) Ceci fonctionnera pour un fichier .htaccess qui se trouve dans le répertoire /spip/ Il est inutile de le mettre ailleurs, parce que tout passerait par là alors que tu ne dois réécrire que l'arborescence /spip/ Je simplifierais et rajouterais quelques lignes pour éviter de passer tous les fichiers images, css, etc par toutes les règles. Par exemple: RewriteEngine onRewriteRule ^(.*)\.(png|gif|jpe?g|js|css)$ - [L]RewriteRule (article|breve|rubrique|forum)([0-9]+)\.html $1.php3?id_$1=$2 [QSA,L] C'est ce que j'ai mis en place pour les publications du Hub (un petit lien en passant) et ça marche nickel Dan
rubenxela Posté 16 Septembre 2004 Auteur Posté 16 Septembre 2004 Waaao .... Exact !!!! autant pour moi et MERCi beaucoup Dan tu me sauves d'un infarctus précoce Heureusement que j'ai L'Expert sous la main. merci encore.
rubenxela Posté 16 Septembre 2004 Auteur Posté 16 Septembre 2004 Mince !! finalement c'est pas aussi simple que je pensais, ça ne fonctionne pas mieux en me renvoyant toujours une 404. Arggg je suis vert. Bon je vais encore faire des tests pffffffffff quelle galère
rubenxela Posté 16 Septembre 2004 Auteur Posté 16 Septembre 2004 Bon j'ai un début de solution mais pas top car il me renvoie sur les url normales !! mais Dan tu risques de trouver la manière très bizarre à mon avis. Puis je n'en suis pas satisfait du tout Le truc c'est que j'ai remarqué que le htaccess n'était interprété qu'avec des chemins directs avec http !!!!! Du coup mon htaccess devient RewriteEngine onRewriteRule ^article([0-9]*).html$ http://www.jahmusik.net/spip/article.php3?id_article=$1 [QSA,L] RewriteRule ^rubrique([0-9]*).html$ http://www.jahmusik.net/spip/rubrique.php3...ubrique=$1 [QSA,L] RewriteRule ^breve([0-9]*).html$ http://www.jahmusik.net/spip/breve.php3?id_breve=$1 [QSA,L] RewriteRule ^forum([0-9]*).html$ http://www.jahmusik.net/spip/forum.php3?id_forum=$1 [QSA,L] Bon ça me renvoie vers la page php habituelle mais plus de 404 déjà ! J'ai test avec différents arguments et rien n'est interprété si pas de chemin direct Je ne comprends plus rien !! Où alors est-ce qu'il existe chez OVH des argument htaccess spéciaux quand il s'agit de repertoire ???? Est-ce que ça craint si mon htaccess reste ainsi ? Quoiqu'il en soit une fois terminé le script ira à la racine et ça devrait fonctionner normalement mais là !! je suis bouche bé.
rubenxela Posté 16 Septembre 2004 Auteur Posté 16 Septembre 2004 HOURRA j'ai trouvé j'ai bien failli devenir fou !! Bon, je vous laisse mon .htaccess au cas où quelqu'un se trouve dans la même situation. je n'y ai rien compris mais au moins maintenant ça roule. Il faut encore que je rectifie la condition concernant les images (PS DAN : le htaccess que tu utilise me renvoyait une erreur serveur 500 > je vais essayer de trouver la soluce) Donc dans mon cas pour spip dans un repertoire, voilà le htaccess que j'ai du mettre dans ce répertoire : (spip/ est le répertoire en question) RewriteEngine onRewriteRule ^article([0-9]*).html$ /spip/article.php3?id_article=$1 [QSA,L] RewriteRule ^rubrique([0-9]*).html$ /spip/rubrique.php3?id_rubrique=$1 [QSA,L] RewriteRule ^breve([0-9]*).html$ /spip/breve.php3?id_breve=$1 [QSA,L] RewriteRule ^forum([0-9]*).html$ /spip/forum.php3?id_forum=$1 [QSA,L]
Dan Posté 16 Septembre 2004 Posté 16 Septembre 2004 Ruben, Les règles que je t'ai données sont celles qui tournent sur le Hub. Et ici aussi, Spip est dans un répertoire distinct. J'ai fait un copier/coller du fichier lui-même Par contre, tes règles semblent montrer que tu n'as pas mis le fichier .htaccess dans le répertoire spip/ mais bien à la racine... Essayes les règles que je t'ai données, en mettant le fichier .htaccess dans /spip/ et assures-toi que tu n'as pas une règle qui gène dans le .htaccess de la racine. Tu peux m'envoyer les 2 ou me donner un accès ftp (infos par MP si tu veux) Dan
rubenxela Posté 16 Septembre 2004 Auteur Posté 16 Septembre 2004 Ben c'est bien ça qui est étrange ! c'est que mon .htaccess est bien dans le répertoire Spip et que je n'ai plus de htaccess à la racine depuis belle lurette . Je pense que ça vient de l'ORT de OVH. Je te fais passer un accès FTP en MP tu pourras jeter un oeil. PS : ça fait déjà plusieurs fois que l'utilisation des htaccess sur un mut Ovh (mediaplan 720) est totalement différente de ce que ça serait censé être, c'est à n'y rien comprendre !!
Dan Posté 17 Septembre 2004 Posté 17 Septembre 2004 Salut Alex, Avec l'accès ftp que tu m'as ouvert, j'ai modifié le fichier .htaccess et tout baigne Les Mediaplan doivent avoir une configuration non standard, ou en tout cas différentes des autres plans mutualisés car le RewriteBase est indispensable. Il doit y avoir un mapping particulier pour les espaces web... ce qui est logique pour permettre le multi-domaines Le fichier .htaccess est donc maintenant: RewriteEngine onRewriteBase /spipRewriteRule (.+)\.(png|gif|jpe?g|js|css)$ - [L]RewriteRule (article|breve|rubrique|forum)([0-9]+)\.html $1.php3?id_$1=$2 [QSA,L] A+ Dan Ps: il te suffit d'ajouter les réécritures que tu veux faire dans la liste (...|...|...), par exemple en ajoutant "secteur" :(article|breve|rubrique|forum|secteur) tu créeras automatiquement une règle qui réécrirait secteur123.html en secteur.php3?id_secteur=123
rubenxela Posté 17 Septembre 2004 Auteur Posté 17 Septembre 2004 Merci beaucoup Dan c'est génial. Sinon petite précision pour les mediaplan OVH. Si on utilise un multidomaine, cad un domaine supplémentaire qui est redirigé sur un repertoire de l'hébergement de base, les règles semblent être similaires à celles des autres mut et pas besoin de RewriteBase, en tous cas pas à la racine des domaines supplémentaires. Merci encore
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant