réécriture d'urls et erreur

Bonjour, avec la nouvelle version (j'ai fait l'upgrade depuis la 4.3.1) quand j'essaye d'activer la réécriture d'urls sur mon blog, cela plante tout l'accès au site, ça indique cette belle erreur :
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /homepages/44/d146067067/htdocs/zetrader/core/lib/class.plx.date.php on line 17
Quelqu'un a une idée d'où ça peut venir ?
Merci pour vos réponses :)

Précisions :
Pour la réécriture d'urls quand je fais un test d'un pluxml5 tout neuf dans un nouveau répertoire, ça fonctionne.
Mais quand j'essaye avec mon blog qui est sur la racine de mon domaine, ça plante tout.
Est-ce que le fait d'activer la réécriture d'url dans la configuration avancée ne modifie que le fichier .htaccess ou ça modifie aussi d'autres fichiers ?
Pour savoir si j'ai une chance de corriger la chose juste avec le fichier .htaccess qui irait bien.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    PHP 5 à activer

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • zetraderzetrader Member
    juillet 2010 modifié
    merci mais normalement c'est déjà fait, j'avais migré de php4 à php 5.2.13 quand j'ai mis pluxml 4.3.1 cf. le phinfo :
    http://zetrader.fr/phinfo.php
    quelque chose à rajouter dans le php.ini ?

    Voici ce que j'ai actuellement dans mon php.ini :
    output_buffering = 4096
    allow_url_fopen = On
    allow_url_include = On
    
    A moins qu'il faille que je supprime ce php.ini que j'avais mis à la racine de mon domaine ?
    Parce que la réécriture d'url fonctionne bien dans un répertoire tout neuf sans ce fichier php.ini à la racine du répertoire.
  • Voici mon .htaccess sur mon domaine zetrader.fr (où est hébergé le blog, à la racine du domaine) :
    ErrorDocument 204 http://zetrader.fr/
    ErrorDocument 300 http://zetrader.fr/
    ErrorDocument 403 http://zetrader.fr/
    ErrorDocument 404 http://zetrader.fr/
    ErrorDocument 408 http://zetrader.fr/
    ErrorDocument 410 http://zetrader.fr/
    ErrorDocument 500 http://zetrader.fr/
    ErrorDocument 502 http://zetrader.fr/
    ErrorDocument 503 http://zetrader.fr/
    ErrorDocument 504 http://zetrader.fr/
    
    RedirectPermanent /zetrader-trading-plus-values-gains-en-capitaux.htm http://zetrader.fr/?article203/gains-en-bourse-plus-values-gains-en-capitaux-2002-a-2010
    
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^zetrader\.fr [NC]
    RewriteRule (.*) http://zetrader.fr/$1 [QSA,R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) http://zetrader.fr/
    RemoveType x-mapp-php4 .html
    AddType x-mapp-php5 .php
    
    Actuellement ce .htaccess fonctionne correctement avec le format d'url non réécrite c'est à dire sous la forme index.php?articlexx/titre-article

    Je suis hébergé chez 1and1, l'hébergement est sous linux.
    Voici la procédure décrite chez 1and pour l'url rewriting :
    http://faq.1and1.fr/hebergements/htaccess/5.html

    Que faut-il que je change à la main dans mon .htaccess pour que la réécriture du blog fonctionne ?
  • Bonsoir,

    Dans ton htaccess que tu nous présente à la racine de ton site, il manque pas mal de chose.

    Pour info voici le htaccess généré par Pluxml:
    # 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
    
    Donc avec ça tu devrais combler ton htaccess.
  • Merci, finalement j'ai trouvé grâce à toi :)
    J'avais essayé ce code tout seul (à la place de mon code) dans le .htaccess = marche pas
    Je viens d'essayer à la suite de mon code dans le .htaccess = marche pas (mais pas la même erreur)
    Finalement j'ai essayé en le mettant AVANT le code :
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^zetrader\.fr [NC]
    RewriteRule (.*) http://zetrader.fr/$1 [QSA,R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) http://zetrader.fr/
    RemoveType x-mapp-php4 .html
    AddType x-mapp-php5 .php
    
    Et là finalement ça marche enfin ! :)

    J'ai donc au final un .htaccess avec le code suivant :
    ErrorDocument 204 http://zetrader.fr/
    ErrorDocument 300 http://zetrader.fr/
    ErrorDocument 403 http://zetrader.fr/
    ErrorDocument 404 http://zetrader.fr/
    ErrorDocument 408 http://zetrader.fr/
    ErrorDocument 410 http://zetrader.fr/
    ErrorDocument 500 http://zetrader.fr/
    ErrorDocument 502 http://zetrader.fr/
    ErrorDocument 503 http://zetrader.fr/
    ErrorDocument 504 http://zetrader.fr/
    
    RedirectPermanent /zetrader-trading-plus-values-gains-en-capitaux.htm http://zetrader.fr/?article203/gains-en-bourse-plus-values-gains-en-capitaux-2002-a-2010
    
    # 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
    
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^zetrader\.fr [NC]
    RewriteRule (.*) http://zetrader.fr/$1 [QSA,R=301,L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) http://zetrader.fr/
    RemoveType x-mapp-php4 .html
    AddType x-mapp-php5 .php
    
    Le .htaccess a pris encore un peu de poids, mais bon au moins ça marche ! ;)
  • Le principale et que ca fonctionne oui,
    mais si tu n'avais pas la directive php5 dans le 1er code donné par pluxml normale que cela ne fonctionné pas.
    Je pense que tu peux optimiser ton htaccess car je trouve que tu as du code doublon (je peux me tromper).
    Mais bon le htaccess est lus assez rapidement par le serveur, ça taille n'engendre guère de grosses pertes de chargement ;)
Connectez-vous ou Inscrivez-vous pour répondre.