[5.0] Activation de la réecriture d'URL

Lien : http://www.loup-des-neiges.com/
Problème : Lors de l'activation de la réécriture d'URL dans le panel admin, aucun message d'erreur.
Retour sur le site, et erreur 404 sur les articles. Je présume que l'activation de cette fonction crée un simple
.htaccess sur la racine du site ? (Chose qui ne marche pas suivant le niveau de sécurisation d'un serveur)

Manque une petite phase de test sur la fin qui vérifie la présence de l'htaccess et qui en cas de non présence, affiche un petit message avec le code a copier/coller dans un fichier .htacess sur la racine du site.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Loup-des-Neiges

    Ta proposition est interessante effectivement.
    As-tu besoin du code pour créer le fichier .htaccess ?

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • juillet 2010 modifié
    Salut stephane,

    Même problème avec la suppression automatique de "install.php"
    Pourquoi ne pas faire une petite ligne dans [Paramètres>Informations], la ou il y a la vérification des droits d'accès dans "data"
    une petite vérification de la présence de "install.php" conseillant la suppression de celui-ci ?

    Pour le htaccess, vue dans "core/lib/class.plx.admin.php"
    # BEGIN -- Pluxml
    <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    # Réécriture des urls
    RewriteRule ^([^feed\/].*)$ index.php?$1 [L]
    RewriteRule ^feed\/(.*)$ feed.php?$1 [L]
    </IfModule>
    <Files "version">
        Order allow,deny
        Deny from all
    </Files>
    # END -- Pluxml
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour Loup-des-Neiges

    Je prends note de ta remarque sur la suppression automatique de install.php

    1. Ne pas supprimer automatiquement le fichier install.php
    2. Afficher un message dans l'administration conseillant de supprimer le fichier install.php. Action qui devient manuelle et à l'initiative de l'administrateur du site

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Ou pourquoi ne pas vérifier ses fichiers, et au cas ou install.php reste, afficher un message de le supprimer manuellement.

    Idem avec le htaccess, on vérifie s'il y en a déjà un, et dans ce cas afficher ce qu'il faut ajouter dedans ?
  • juillet 2010 modifié
    C'est exactement ma proposition frederic ;)
    Stéphane a écrit:
    1. Ne pas supprimer automatiquement le fichier install.php
    Non non, juste l'ajout d'une ligne dans [Paramètres>Informations] qui vérifie la présence du fichier "install.php" et affiche un message d'erreur/information conseillant la suppression de celui-ci.

    1- Le serveur autorise la suppression via php => install.php non présent => Tout va bien, aucun message
    2- Le serveur n'autorise pas la suppression via php => install.php toujours présent => Un petit message comme quand un dossier dans /data n'a pas le bon chmod
  • Oui exacte Loup-des-Neiges, je ne confirmais que tes dires à Stéphane :)
  • je reviens sur ce sujet, car ma question a rapport avec le rewriting.
    j'ai des url du type :
    <a href="mailto:mon.adresse@email.com">ici</a>
    
    qui ne fonctionnent pas.. le lien qui s'affiche dans l'article/statique est http://www.monsite.fr/mailto:mon.adresse@email.com

    idem pour d'autres adresses (autre protocole) comme steam://connect/ip.du.serveur.jeu

    des idées?
  • super_g2super_g2 Member
    septembre 2010 modifié
    je voulai juste vous dire que ce souci est du à la réécriture des adresses, en la désactivant, je retrouve mes liens habituels.

    une option à mettre dans nos href pour les liens "spéciaux" ?

    edit : après maintes recherches, le problème vient du côté du code à proprement parler de pluxml, pas du .htaccess comme je le croyais (mais dont je doutais ^^). En effet, le type d'adresse mailto:, ... est un protocole extérieur au serveur, donc aucune règle de réécriture ne s'y applique.

    utiliser urlRewrite() n'y change rien, cette fonction n'est pas prévue pour cet usage.
  • petit up??
    je sais, personne n'aime ça, mais c'est juste pour savoir (pas avoir la réponse) si ce "bug" est bien identifié et si par hasard il fait partie de votre todolist concernant l'url rewriting?

    enjoy
  • En effet, nous allons répertorier le bug.
    Merci en tout cas de nous en avoir fait part !
  • @super_g2 Voici une petite modification rapide, pour faire fonctionner les adresses du type mailto: avec l'url rewriting.

    Rendez-vous dans le fichier /core/lib/plx.utils.php
    et ajouter ces lignes :
    // replace other protocoles URLs
    
     $html = preg_replace('@\<([^>]*) (href|src)="([^>]*)mailto:([^"]*)"@i', '<\1 \2="mailto:\4"', $html);
    
    dans la fonction rel2abs : entre :
    $html = preg_replace('@\<([^>]*) (href|src)="(([^\:"])*|([^"]*:[^/"].*))"@i', '<\1 \2="' . $base . '\3"', $html);
    
    et :
    return $html;
    }
    
  • super_g2super_g2 Member
    septembre 2010 modifié
    nickel, en fait j'ai ajouté une ligne par protocole différent de http en m’inspirant de celle que tu m'as donnée ! C'est pas faute de l'avoir cherchée cette fonction, mais je ne cherchai pas dans la bonne classe... xD

    D'ailleurs, /core/lib/class.plx.utils.php plutôt ;)

    ça fonctionne à la perfection, "plus qu'à" automatiser la reconnaissance des protocoles autres que les urls internes ou absolues pour du http.

    Merci beaucoup en tout cas !!
Connectez-vous ou Inscrivez-vous pour répondre.