page 404

Un forum de support CMSimple pour des utilisateurs et développeurs francophones

Moderator: Bob

marcus
Posts: 63
Joined: Thu Sep 25, 2014 3:50 pm

page 404

Post by marcus » Sun Oct 05, 2014 5:05 pm

Bonjour,
Est-ce que je dois construire ma page 404 et la mettre grâce à fillezilla ou Cmssimple gère la chose ?
A bientôt,
Marc

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: page 404

Post by cmb » Sun Oct 05, 2014 5:32 pm

Bonjour Marc,
marcus wrote:Est-ce que je dois construire ma page 404 et la mettre grâce à fillezilla ou Cmssimple gère la chose ?
Qui est géré par CMSimple: http://marcusguitare.fr/?xyz. Comment avoir une page d'erreur 404 individu est expliqué dans le wiki CMSimple_XH (fonctionne aussi pour CMSimple_XH).

A bientôt,
Christoph
Christoph M. Becker – Plugins for CMSimple_XH

marcus
Posts: 63
Joined: Thu Sep 25, 2014 3:50 pm

Re: page 404

Post by marcus » Mon Oct 13, 2014 2:26 pm

Bonjour,
Ok, pour ma page qui se trouve ici : http://marcusguitare.fr/?xyz.
Je suis allé voir les explications, sur la page que vous m'indiquez mais je n'y arrive pas ...
On me présente un code où il faut mettre l'adresse de ma page 404 et après ?
Voici le code :
function shead($s) {
global $iis, $cgi, $tx, $txc, $title, $o;
if ($s == '401')header(($cgi || $iis)?'status: 401 Unauthorized':'HTTP/1.0 401 Unauthorized');
if ($s == '404') header('Location: http://www.google.com'); //marcusguitare.fr/?xyz
$title = $tx['error'][$s];
$o = '<h1>'.$title.'</h1>'.$o;
}

J'ai mis dans le cms.php mais plus rien ne marche ...
Ca doit être pourtant simple ...

A bientôt,

Marc

johnjdoe
Posts: 571
Joined: Tue May 20, 2008 6:32 am

Re: page 404

Post by johnjdoe » Mon Oct 13, 2014 2:43 pm

Salut Marc,

c'est simple (si on sait ce qu'on doit faire). ;-)

Si tu suis les explications sur http://www.cmsimple-xh.org/wiki/doku.ph ... error_page tu dois:

* Créer d'abord une nouvelle page cachée (voir paramètres de page) de niveau 1 et l'appeler "404". Dans la page tu mets ce que l'utilisateur doit recevoir (du style "la page n'existe pas!" ou autre).
* Après tu ouvres avec un éditeur le fichier "userfuncs.php" et tu y ajoutes le code que tu trouves dans l'explication (copier/coller). Dans ce code, cette page "404" est appelée (v. 'Location: ?404').
* Il faut alors télécharger ce fichier "userfunc.php" sur ton serveur web et remplacer la version originale

Ne touches SURTOUT pas au fichier "cms.php" comme tu l'as fait! Tu risque de le détruire et de te retrouver devant un site qui ne fonctionne plus (comme tu l'as déjà visiblement). Tu peux remettre ton site à vie en recopiant le "cms.php" original.

Bat

marcus
Posts: 63
Joined: Thu Sep 25, 2014 3:50 pm

Re: page 404

Post by marcus » Thu Oct 16, 2014 6:29 am

Bonjour,
Je n'ai pas trouvé la page userfunc.php , je pense que c'était à moi de la créer .

Voici le code que j'ai mis :

<?php
function custom_404()
{
header('Location: ?404');
exit;
}
?>

J'ai téléchargé à la racine, mais pas de changement ...
A bientôt,
Marc

johnjdoe
Posts: 571
Joined: Tue May 20, 2008 6:32 am

Re: page 404

Post by johnjdoe » Thu Oct 16, 2014 8:01 am

Je ne sais pas si CMSimple utilise encore/également la fonction "userfunc.php". La documentation et mes explications se basent sur la version CMSimple XH (http://www.cmsimple-xh.org/) qui pour moi est plus évoluée et traitée de manière primaire ici.

Il y a des années, CMSimple (pas la XH) utilisait cette fonction, mais il fallait lui dire dans la config quel fichier PHP il devait inclure. Faut que tu regardes si c'est encore possible et créer le fichier en question dans le même répertoire que CMS.PHP.

Mais je te conseille d'utiliser la version CMSimple XH.

marcus
Posts: 63
Joined: Thu Sep 25, 2014 3:50 pm

Re: page 404

Post by marcus » Thu Oct 16, 2014 12:11 pm

Je viens de télécharger la version xh.
Pour ne pas faire de bêtise, que dois-je faire ?
Est-ce que mes pages existantes seront encore accessibles ?
Dois-je garder l'ancienne version ?
A bientôt,
Marc

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: page 404

Post by cmb » Thu Oct 16, 2014 12:12 pm

johnjdoe wrote:Je ne sais pas si CMSimple utilise encore/également la fonction "userfunc.php". La documentation et mes explications se basent sur la version CMSimple XH (http://www.cmsimple-xh.org/) qui pour moi est plus évoluée et traitée de manière primaire ici.
Il devrait fonctionner correctement avec CMSimple 4.4.5.
marcus wrote:Je n'ai pas trouvé la page userfunc.php , je pense que c'était à moi de la créer .
Pour éviter les malentendus: vous n'avez pas à créer une page userfuncs.php, mais un fichier cmsimple/userfuncs.php.
johnjdoe wrote:Mais je te conseille d'utiliser la version CMSimple XH.
+ 1

PS: Si vous n'avez que des exigences modérées pour votre page 404, vous pouvez envisager d'utiliser Moved_XH. Voir, par exemple: http://3-magi.net/?nexiste_pas.
Christoph M. Becker – Plugins for CMSimple_XH

marcus
Posts: 63
Joined: Thu Sep 25, 2014 3:50 pm

Re: page 404

Post by marcus » Thu Oct 16, 2014 2:13 pm

On va y arriver, on va y arriver.
J'ai bien créée ma page
http://marcusguitare.fr/?404
J'ai mis mon code php dans un fichier nommé userfuncs.php
J'ai mis dans le dossier cmsimple.
La page 404 ne marche que si il y a le ? dans l'adresse mais s'il n'est pas là pas de page 404 mais une page blanche ...
A bientôt,
Marc

marcus
Posts: 63
Joined: Thu Sep 25, 2014 3:50 pm

Re: page 404

Post by marcus » Thu Oct 16, 2014 2:24 pm

Sinon j'ai un fichier php dans cmsimple qui s'appelle functions.php et dedans il y a :

function shead($s)
{
global $iis, $cgi, $tx, $cf, $title, $o;
if ($s == '401')
header(($cgi || $iis) ? 'status: 401 Unauthorized' : 'HTTP/1.0 401 Unauthorized');
if ($s == '404')
{
if (function_exists('custom_404'))
{
custom_404();
}
else
{
header(($cgi || $iis) ? 'status: 404 Not Found' : 'HTTP/1.0 404 Not Found');
$o.= "\n" . '<h4>' . $tx['menu']['sitemap'] . '</h4>';
$o.= "\n" . '<div id="error404">';
$o.= "\n" . str_replace('menulevel','sitemaplevel',toc(1,$cf['menu']['levels'],1));
$o.= "\n" . '</div>';
}
}
$title = $tx['error'][$s];
$o = '<h1>' . $title . '</h1>' . $o;
}

Ce ne serait pas dans ce code ?

A bientôt,

Marc

Post Reply