Aller au contenu

SPIP 1.7.2 rewriting


rubenxela

Sujets conseillés

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 on

RewriteRule ^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.

Lien vers le commentaire
Partager sur d’autres sites

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 :whistling:

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 on
RewriteRule ^(.*)\.(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 :up:

Dan

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 on

RewriteRule ^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é.

Lien vers le commentaire
Partager sur d’autres sites

HOURRA j'ai trouvé :up: 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 on

RewriteRule ^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]

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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 !! :wacko:

Lien vers le commentaire
Partager sur d’autres sites

Salut Alex,

Avec l'accès ftp que tu m'as ouvert, j'ai modifié le fichier .htaccess et tout baigne :up:

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 on
RewriteBase /spip
RewriteRule (.+)\.(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

Lien vers le commentaire
Partager sur d’autres sites

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 :up:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...