Problème url rewriting avc SPIP 1.8.1

marck5

WRInaute discret
Bonjour à tous,

Je souhaitais rewrité le nom des pages de mon site (www.metapsychique.org) avec le nouveau système intégré dans la version 1.8.1 de SPIP. Malheureusement, je n'y arrive pas.

Je décris les étapes que j'ai suivi, peut-être trouverez-vous l'erreur :


1/ J'ai crée un fichier mes options que j'ai placé dans le répertoire /ecrire etond le contenu est :

<?php

$type_urls = 'propres2';


?>

2/ J'ai récupéré le htacess donné par SPIP et j'ia modifié les deux points suivants :
- J'ai indiqué RewriteBase / au début du htaccess (car je suis hébergé par ovh et que d'après un forum spip il faudrait indiqué ceci au début du htacess)
- J'ia mis des / avant la dernière partie de la règle (il faudrait de la même façon faire ça chez ovh)

RewriteBase /

##############################################################
# Fichier .htaccess SPIP v1.8 #
# #
# 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 '#'

#RewriteBase /sous/repertoire/


### Version PHP 3
# Si vous utilisez une distribution 'PHP 3' de SPIP, et si votre
# hebergement execute encore les .php[3] avec un moteur PHP 3
# au lieu de PHP 4, vous pouvez decommenter la ligne ci-dessous
# pour faire fonctionner les fichiers sous php4 (sans garantie)

#AddType x-mapp-php4 .php3


# 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 inc-urls-html.php3
RewriteRule ^rubrique([0-9]+)\.html$ /rubrique.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^article([0-9]+)\.html$ /article.php3?id_article=$1 [QSA,L]
RewriteRule ^breve([0-9]+)\.html$ /breve.php3?id_breve=$1 [QSA,L]
RewriteRule ^mot([0-9]+)\.html$ mot.php3?id_mot=$1 [QSA,L]
RewriteRule ^auteur([0-9]+)\.html$ /auteur.php3?id_auteur=$1 [QSA,L]
#

Fin compatibilite
###

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

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

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

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

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

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

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


Quand je met ça sur le ftp, j'ai soit erreur interne soit, soit pages indisponibles.
 

rtb

WRInaute impliqué
je bosse aussi sur spip mais sur une autre version un peu detourné de la 1.7.2 et le rewriting fonctionne sans probleme, y'a plus de fichiers inc_urls pour noter coder url de depart ?
Sinon, je suis aussi chez ovh et ca tourne sans probleme avec un htacess du style :
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^aire-sur-adour\.html /mot.php?id_mot=107 [L]
RewriteRule ^azur\.html /mot.php?id_mot=159 [L]
RewriteRule ^bias\.html /mot.php?id_mot=110 [L]

pour le rewrite du fichier mot.php
avec dans le inc-urls-html.php de spip:
function generer_url_mot($id_mot) {
if($id_mot==67){ // **** Villes **********
return "angresse.html";
} else if($id_mot==102){
return "aureilhan.html";
} else if($id_mot==101){
return "biscarrosse.html";
} else if($id_mot==4){
return "capbreton.html";
} else if (...............
} else {
return "mot$id_mot.html";
}
}
 

netsba

WRInaute discret
va sur ecrire/inc_version.php3
trouve
$type_urls = 'standart';
et remplace par
$type_urls = 'propres2';

et pour l'url rewrite

ajoute que RewriteBase / au debut de htacess sans rien modifier apres
et le tt marche moi aussi j'ai longtemp chercher pour trouver (www.actudz.com)
 

marck5

WRInaute discret
Bonjour,

Ok merci beaucoup ça marche !

***

Je me pose alors une nouvelle question : les adresses que Google avait indexé ne fonctionnent plus :

Que vas-t-il se passer maintenant ? Les pages de mon site vont-elles être pénalisées et repartir à zéro ou bien google va mettre à jour les adresses tout seul et dans quelques jours ça n'aura rien changé au référencement de mes pages ?

Y a til un moyen de faire en sorte que adreses que google a en tête renvoient sur les nouvelles adresses ?
 

marck5

WRInaute discret
Une autre question :

les adresses avec l'option "propres2" sont coupées (je suppose pour c'est spip qui fait ça pour que les noms d'articles ne soient pas trop longs). Comment fait-on pour faire en sorte que les nom des pages ne soient pas, ou moins, coupeés ?
 

jmafou

Nouveau WRInaute
Article.php3 was not found

j'ai fais les modifs expliqué ci-dessus

J'ai modifié le .htaccess--->RewriteBase /---> j'ai retiré le "

Changé le 'standard' par 'propres2'

et crée les fichier mes_options.php3

J'ai reussi a avoir les urls avec le titre mais je n'arrive pas a avoir le contenu de l'article.

voila l'erreur que j'ai

The requested URL /article.php3 was not found on this server.
 

tyv

WRInaute occasionnel
WTB a dit:
:idea: Le changement de variable fonctionne parfaitement avec v.1.8.2

Tu n'as pas eu de problème avec le menu de la page d'accueil? Chez moi c'est le seul point qui fonctionne pas, il remet les anciennes url.
 

Discussions similaires

Haut