Url rewriting pour spip 1.9

WRInaute discret
Bonjour j'essaye de mettre l'url rewriting avec mon site qui tourne sous spip 1.9, il fournissent déjà le fichier .htaccess

Code:
##############################################################
# Fichier .htaccess                                SPIP v1.9 #
#                                                            #
# Permet de controler les URLs et la version de php utilisee #
# Compatible avec les URLs 'html', 'propres' et 'propres2'   #
# Permet aussi d'effectuer la transition de .PHP 3 vers .PHP #
#                                                            #
# Pour utiliser ce fichier renommez-le '.htaccess' dans le   #
# repertoire racine du site, en veillant a ne pas ecraser un #
# .htaccess personnalise qui s'y trouverait deja             #
#                                                            #
# Attention certains hebergeurs desactivent tout ou partie   #
# des fonctions du fichier .htaccess ; celui-ci est donc     #
# indicatif - en cas de difficulte voir sur les forums SPIP  #
##############################################################

RewriteEngine On


################ CONFIGURATION ######################

### Configuration sous-repertoire
# Si votre site est dans un sous-repertoire, preciser ci-dessous
# le nom du sous-repertoire, et supprimer le '#'
# Chez certains hebergeurs il faut indiquer "RewriteBase /"

#RewriteBase /sous/repertoire/


# SPIP version 'php' - si vous avez d'anciennes adresses en '.php[3]',
# supprimez le '#' sur les lignes qui suivent pour rediriger les acces
# errones vers le .php correspondant

#RewriteCond %{REQUEST_FILENAME} -f
#RewriteRule ^(.+)\.php[3]$ $1.php [QSA,L]

# Fin version
###


################ REGLAGES PERSONNALISES ######################
# Inscrivez ci-dessous vos reglages supplementaires




################ GESTIONS DES URLS SPIP #######################

###
# Si le fichier ou repertoire demande existe
# ignorer toutes les regles qui suivent
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule "." - [skip=100]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule "." - [skip=100]
#
###


###
# Compatibilite avec les URLS "html" (pour transition sympa)
# voir fichier ecrire/urls/html.php3
RewriteRule rubrique([0-9]+)\.html$	spip.php?page=rubrique&id_rubrique=$1 [QSA,L]
RewriteRule article([0-9]+)\.html$	spip.php?page=article&id_article=$1 [QSA,L]
RewriteRule breve([0-9]+)\.html$	spip.php?page=breve&id_breve=$1 [QSA,L]
RewriteRule mot([0-9]+)\.html$		spip.php?page=mot&id_mot=$1 [QSA,L]
RewriteRule auteur([0-9]+)\.html$	spip.php?page=auteur&id_auteur=$1 [QSA,L]
RewriteRule site([0-9]+)\.html$	spip.php?page=site&id_syndic=$1 [QSA,L]
# Compatibilite avec les anciennes URLS appelant directement des fichiers php
RewriteRule ^(rubrique|article|breve|mot|auteur|site|agenda|backend|backend-breves|distrib|forum|ical|plan|recherche|resume|sommaire|sommaire_texte)\.php3?$	spip.php?page=$1 [QSA,L]
RewriteRule ^page.php[3]?	spip.php [QSA,L]
RewriteRule ^spip_cal\.php3?$	spip.php?action=ical [QSA,L]
RewriteRule ^spip_rss\.php3?$	spip.php?action=rss [QSA,L]
# Fin compatibilite
###

###
# URLs "propres" et "propres2"
# pensez a regler $type_urls='propres' ou 'propres2'
# dans ecrire/mes_options.php
# (fichier associe : ecrire/urls/propres.php)

# Les mots-cles
RewriteRule ^\+-[^/\.]+(-\+)?(\.html)?$	spip.php?page=mot [QSA,E=url_propre:$0,L]

# Les breves
RewriteRule ^\+[^/\.]+\+?(\.html)?$ 	spip.php?page=breve [QSA,E=url_propre:$0,L]

# Les rubriques
RewriteRule ^-[^/\.]+-?(\.html)?$	spip.php?page=rubrique [QSA,E=url_propre:$0,L]

# les auteurs
RewriteRule ^_[^/\.]+_?(\.html)?$	spip.php?page=auteur [QSA,E=url_propre:$0,L]

# Les sites
RewriteRule ^@[^/\.]+@?(\.html)?$	spip.php?page=site [QSA,E=url_propre:$0,L]

# Les articles (en dernier car expression plus "large")
RewriteRule ^[^/\.]+(\.html)?$		spip.php?page=article [QSA,E=url_propre:$0,L]

# Fin URLs "propres" et "propres2"
###

Mais ils disent qu'il y a quelque chose à modifier, mais ils disent pas quoi donc en toute logique ça fonctionne pas chez moi, quelqu'un à une idée ?

Un tout grand merci ;)
 
WRInaute discret
Modifie la ligne suivante de ton fichier inc_version.ph3
(approximativement ligne 246 )

// Type d'URLs
// 'standard': article.php3?id_article=123
// 'html': article123.html
// 'propres': Titre-de-l-article <http://lab.spip.net/spikini/UrlsPropres>
// 'propres2' : Titre-de-l-article.html (base sur 'propres')
$type_urls = 'propres2';

A remplacer par 'html', 'propres' ou 'propres2'
Dans l'exemple ici propres2

C'est le cas sur mon site, par contre je ne suis pas passer en 1.9, je suis toujours en 1.8.2. Mais la technique est la même.
 
Nouveau WRInaute
chez ovh, pb backend spip, puis erreur fatale

Bonjour,

J'ai un site sous spip 1.9. et chez ovh 90plan et j'ai essayé ce matin de faire un url rewriting, en suivant divers forums pour modifier les contenus de
.htaccess à la racine de mon site,
mes_options.php et inc_version.php dans ecrire
notamment la modif dans inc_version postée ici.

l'url rewriting a fonctionné (affichage des urls /-nom de la rubrique - mais :
. tous mes caractères avec accents étaient mal affichés
. et SURTOUT : je ne pouvais plus accéder à mon backend de spip, ni sur mozilla, ni sur IE6 ("veuillez autoriser les cookies" sur la page de connexion à l'interface spip alors que ceux ci étaient autorisés).

J'ai donc voulu revenir en arrière, à la version du début, sans l'url rewrt.
Ce que j'ai fait :
. supprimer mon fichier .htaccess
. supprimer mon fichier mes_options.php
. remis le fichier original inc_version.php

Et c'est là que tout se gâte car depuis à la place de mon site s'affiche "Fatal error: Call to undefined function: generer_url_rubrique() in /home.10.26/massaten/www/ecrire/public/composer.php(48) : eval()'d code on line 323"

. Je suis allée dans votre manager ovh faire une sauvegarde de ma bdd de hier, mais je ne sais pas comment la récupérer et si cela suffirait à tout remettre en place.
. pourquoi mon url rewriting ne marche pas ?
. et quel est le pb sur cette ligne 323 de ecrire/public/composer.php ?

J'ai envoyé une demande d'aide au support d'ovh, en attente de la réponse pour le moment. et donc mon site est hs pour le moment !

Je suis assez débutante en création de sites, ne connais pas grand chose en php, et donc AU SECOURS !
et bien sur, j'ai omis de faire une sauvegarde de ma bdd avant de balancer ces fichiers. donc j'aimerai vraiment récupérer la sauvegarde de hier si c'est possible.
Merci par avance de votre réponse.

Carole
 
Discussions similaires
M
Réponses
9
Affichages
7K
maitreweedoo
M
Haut