SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 143 visiteurs en ce moment

Accueil du site > Statistiques et référencement > Réécriture d’URL > Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

19 janvier 2006 – par gcrao – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

SPIP permet de d’activer la fonction de ré-écriture d’URLs, mais pour cela il faut pouvoir/avoir le droit d’utiliser un fichier .htacccess. Voici une solution alternative ne modifiant aucun fichier critique de SPIP.

Introduction

Normalement SPIP permet de d’activer la fonction de ré-écriture d’URLs via les fichiers du type inc-urls-....php3, le fichier mes-options.php3 et le fichier .htaccess.

-  inc-urls-....php3 : Ces fichiers définissent les règles de ré-écriture des URLs dans les pages du site, comme mettre le titre de l’article, concaténer le mot article et son n°...

-  mes-options.php3 : Ce fichier permet d’indiquer quel fichier de rewriting sera utilisé (html, propres, propres2, standard...)

-  .htaccess : Ce fichier va contenir (entre autres) les rêgles de redirection des URLs ré-écrites vers les articles/rubriques d’origine.

Le fonctionnement de la redirection SPIP appelée « propres » est le suivant :
-  URL saisie : http://monsite/titre-de-l-article.html
-  le fichier .htaccess redirige vers la page http://monsite/articles.php3?url_propre=titre-de-l-article
-  articles.php3 va alors chercher l’article ayant ce titre et rediriger finalement vers http://monsite/articles.php3?id_article=3

Le problème

Le problème est que certains hébergeurs (comme Free.fr) désactivent les fonctions avancées des fichiers .htaccess (pour des raisons de sécurité ou simplement pour ne pas permettre de faire des sites trop professionnel sur un hébergement gratuit). Il faut donc trouver une alternative aux fichiers .htaccess et faire :
-  soit une redirection manuelle en PHP (cf La réécriture d’URL native de SPIP sans modifier la conf apache
-  soit faire une ré-écriture « virtuelle » n’impactant pas les pages

Solution : la ré-écriture virtuelle

Cette solution permet de n’avoir à ajouter QUE le fichier inc-urls-semi-propres.php3 et encore, ce n’est qu’une pâle copie du fichier d’origine inc-urls-propres.php3

Le fichier suivant une variation de inc-urls-propres, qui garde articles.php3 ?id_article=.. dans l’URL mais qui ajoute titre=titre-de-l-article. Le paramètre titre n’étant pas utilisé par SPIP, il est ignoré et ne sert donc qu’à l’affichage.

Zip - 2.7 ko

SPIP calculera alors ses liens sous la forme http://monsite/articles.php3?id_article=n_article&titre=titre-de-l-article.

Installation

Modifiez finalement le fichier ecrire/mes_options.php3 (ou créez le si besoin) avec le contenu suivant :

<?
        $type_urls = 'semi-propres';
?>

P.-S.

A l’occasion je ferais des optimisations pour que le fichier inc-urls-semi-propres.php3 contienne moins de code redondant avec inc-urls-propres2.php3.

Retour en haut de la page

Vos commentaires

  • Le 19 juin 2011 à 13:13, par Thomas En réponse à : Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

    Bonjour
    une solution propre et simple est expliquée ici : http://jannaud.fr/htaccess-clean-url-strip-slash
    J’aurai mis des heures à trouver comment faire !! La galère pour avoir des url propres, maintenant c’est fait ! :)

    Répondre à ce message

  • Le 2 mai 2007 à 13:20, par Aurélien En réponse à : Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

    Ca marche sur 1.9.2 ?

    Répondre à ce message

  • Le 10 avril 2007 à 17:26, par rambijey En réponse à : Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

    je sais pas si qqun repondra mais je viens de mettre en place cet outil, ca marche pas de problème. Mais comme je vois que les anciennes url ne disparraissent pas (dans le sens ou il n y a pas de redirection) je me fais du souci car google pourrait voir des doublons et balancer mon site dans la sand box... Donc est ce que qqun a fait le test de cet outil et observer qq chose au niveau du référencement ?

    Répondre à ce message

  • Le 14 avril 2006 à 21:14, par nicoleoptere En réponse à : Chipoteur : info/conseil

    Bonjour.

    J’ai divisé mon site en deux parties : une (rubrique) « privée »
    dont l’accès est restreint, une autre (rubrique) « publique » dont
    l’accès est libre.

    La partie privée me permet d’échanger et de mettre en commun des
    infos avec les autres utilisateurs du site. La partie publique
    permet à ces mêmes utilisateurs de se faire une simili-page perso
    sans rien connaitre en info (ça leur fait peur).

    Les URL type « article.php3 ?id_article=XX » ne me dérange pas sur
    la partie privée, mais pour la publique j’aimerais pouvoir
    ponctuellement avoir des URL du type page perso :

    http://www.monsite.com/~nom_utilisateur
    (pas grave si l’appel à article.php3 est conservé)

    afin que les utilisateurs puissent mettre l’URL de leur page sur
    leur CV par exemple.

    Je peux « tricher » en demandant aux utilisateurs de mettre leur
    nom dans le champ « Titre » et ainsi utiliser/adapter une des
    contrib’ qui font apparaître le titre.

    Mais : sachant que je n’y connais rien en PHP te semble t’il
    facile de n’utiliser cette régle de réécriture que pour une rubrique
    du site seulement
    (la partie privée) ? Le coup du titre comme
    URL ça me botte moyen en général : je préfère même que
    « http://www.monsite.com~» soit la seule URL visible.

    Oui je sais, je chipote... :-P

    Ma question s’entend plus particulièrement pour l’adaptation de
    ta contrib’.

    Merci d’avance !

    Répondre à ce message

  • Le 20 janvier 2006 à 08:43, par Eric02 En réponse à : Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

    Hello

    Merci pour cette contrib ... installée hier sur Online.net ... ca marche !!!

    Question : avec le peu de connaissance que j’ai (à la lecture de ton fichier "semi-propre", j’ai basculé tous les " ?php3" en ".php", mais serait il possible de supprimer de la nouvelle url le mot "titre", en l’otant directement du fichier ?

    • Le 20 janvier 2006 à 16:54, par Eric02 En réponse à : Urls Rewriting ou Urls propres sans toucher au fichier .htaccess

      je viens de tester en local ce qui suit

      modif des lignes :

      return "article.php ?id_article=$id_article&titre=" . $url . _terminaison_urls_propres ;

      par

      return "article.php ?id_article=$id_article," . $url . _terminaison_urls_propres ;

      pour avoir un numero suivit du titr uniquement

      CA à l"air de coller

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Thélia

    26 juin 2007 – 838 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une approche basée sur l’utilisation conjointe des deux logiciels SPIP et Thélia pour la réalisation de sites de publication et de vente en ligne

  • MediaBox

    10 mai 2010 – 178 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Navigation AJAX

    31 janvier – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)

  • Squelettes IENSP-X version Pleine Page pour SPIP 2.1

    8 décembre 2008 – 11 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Version 3.2 pour SPIP 2.1

  • Balise #CAPTCHA

    12 juillet 2007 – 24 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Cette nouvelle balise oblige à rentrer un code avant d’avoir accès aux forums publics des articles.