Forum ZitePLUS

La communauté des utilisateurs du CMS ZitePLUS

Vous n'êtes pas identifié(e).

#1 06/10/2009 19:52:51

luffy48
Membre
Inscription : 06/10/2009
Messages : 2

URL rewriting

Bonjour,
J'utilise la dernier ver sion de Zite+, la 0.8.3, et je ne parvient pas à faire fonctionner l'URL rewriting.
A chaque fois j'ai une erreur 404.
Si je modifie, je fichier config.ini et que je met ça files_index = "index.php/" ca fonctionne mais plus de présentation css.
Comment dois-je mis prendre pour faire de l'url rewriting que se soit en local ou sur OVH?

Hors ligne

#2 06/10/2009 20:51:33

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

luffy48 a écrit :

Bonjour,
J'utilise la dernier ver sion de Zite+, la 0.8.3, et je ne parvient pas à faire fonctionner l'URL rewriting.
A chaque fois j'ai une erreur 404.
Si je modifie, je fichier config.ini et que je met ça files_index = "index.php/" ca fonctionne mais plus de présentation css.
Comment dois-je mis prendre pour faire de l'url rewriting que se soit en local ou sur OVH?

Bonsoir,
pour OVH, tu peux consulter cette page et suivre ce qui est indiqué pour le cas général.
Ton fichier .htaccess doit ressembler à cela (les lignes modifieés sont en rouge):

Options -indexes
#
#  OVH - Pour activer PHP5 enlever le # de la ligne suivante
SetEnv PHP_VER 5
#
#  FREE - Pour activer PHP5 enlever le # de la ligne suivante
#php 1
#
#  1 and 1 - Pour activer PHP5 enlever le # de la ligne suivante
#AddType x-mapp-php5 .php
#
# Pour activer la redirection d'URL enlever les # des 3 lignes suivantes
[color=#FF0000]Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([A-z0-9_-]+)\.html$ index.php?perma=$1 [L]
#
# Pour activer la redirection d'URL chez Franceserv en les # des 3 lignes suivantes
#Options +FollowSymlinks
#RewriteEngine on
#RewriteRule ^([A-z0-9_-]+)\.html$ /index.php?perma=$1 [L]
#
# Pour activer le multiview chez free, enlever le # de la ligne suivante
#Options +multiviews


pour file_index, il faut laisser la valeur par défaut.
Par contre il faut mettre le paramètre url_rewriting à 1

En local, tout dépendra de ton serveur local: nombreux sont ceux qui ne gèrent pas correctement l'urlrewriitng.

a+
jean-paul

Hors ligne

#3 06/10/2009 21:08:12

luffy48
Membre
Inscription : 06/10/2009
Messages : 2

Re : URL rewriting

C'est ce que j'avais fait mais l'erreur venait que j'avais laissé Options +multiviews.
Par contre l'url rewriting ne fonctionne pas pour le plan du site, c'est toujours index.php?z=sitemap

Hors ligne

#4 06/10/2009 23:49:51

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

Actuellement, une page "système" (non indexable par un moteur de recherche) n'est pas concernée par l'urlrewriting: login, logout, sitemap ...

a+
jean-paul

Hors ligne

#5 07/10/2009 11:21:54

pat
Membre
Inscription : 10/05/2009
Messages : 89
Site Web

Re : URL rewriting

jpg a écrit
Actuellement, une page "système" (non indexable par un moteur de recherche) n'est pas concernée par l'urlrewriting: login, logout, sitemap ...

Je me demande si ce n'est pas la même raison qui fait que les pages appelées par l'intermédiaire de mes boutons "spéciaux" ne tiennent pas compte de l'urlrewriting.

Voici le source d'un de mes boutons :

<a href="index.php?perma=Terre"><img style="width: 180px; height: 45px" 
src="deco/Bout-Terre-of.jpg" onmouseover="this.src='deco/Bout-Terre-on.jpg';" onmouseout="this.src='deco/Bout-Terre-of.jpg';" alt="" width="180" height="45" /></a>

j'ai bien essayer un href="index/=Terre", mais le lien ne fonctionne plus.

Mes paramètres d'activation de l'urlrewriting semblent être corrects car ça fonctionne correctement avec une page appelée depuis un bouton standard.

Hors ligne

#6 07/10/2009 11:33:16

pat
Membre
Inscription : 10/05/2009
Messages : 89
Site Web

Re : URL rewriting

Tant que je suis dans les pb d'urlrewriting, je vous soumets également celui-ci:

J'ai créé un lien pour remonter en haut de page en insérant 2 lignes (<a name="Haut" title="Haut"></a> et <a href="#Haut">Haut</a>) dans le template d'origine. ça fonctionne correctement tant que l'urlrewriting est à 0. Si je le passe à 2, je ne remonte plus en haut de la page courante, mais en haut de la page d'accueil.

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php echo ($zite->rewrite===2?'<base href="'.$zite->rewritebase.'"/>':"") ?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title><?php echo $zite->content['menu_title'].', '.$zite->get_data('site_title') ?></title>
<link href="<?php echo $zite->config['files_style'] ?>" rel="stylesheet" type="text/css" />
</head>

<body>
	<div id="page">
     <a name="Haut" title="Haut"></a>
		<div id="top">
			<h1><?php echo $zite->get_data('site_title') ?></h1>
			<h2><?php echo $zite->get_data('site_subtitle') ?></h2>
		</div>
		<div id="mid">

			<div id="side">
				<?php echo $zite->content['menu'] ?>
							</div>
			<div id="main">
				<?php echo $zite->content['main'] ?>
			</div>
			<div id="break"></div>
                        <p align="center">
			            <a href="#Haut">Haut</a>
                        </p>
		</div>
		<div id="bot">Site motorisé par <a href="http://www.giausserand.fr/index.php?perma=ziteplus"> <?php echo ZITEVER ?></a></div>
	</div>
</body>
</html>

Merci à ceux qui maîtrisent ces mécanismes de bien vouloir m'aider.

Dernière modification par pat (07/10/2009 11:35:12)

Hors ligne

#7 07/10/2009 13:22:57

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : URL rewriting

salut,
excuses-moi mais si tu es chez OVH, il n'y a aucune raison pour que tu mettes le rewriting à 2, car c'est pour Free. Tu le mets à 1 et ça devrait fonctionner.
d'autre part, j'aurais plutôt mis <a name="Haut" title="Haut"></a> dans la div main car la div page est le conteneur total, c'est à dire qu'il commence au dessus du nom du site mais peut-être ais-je mal compris.
une autre chose que je n'ai pas comprise, ça veut dire quoi en haut de la "page d'accueil"?

je ne suis pas un expert, mais je me permets de te répondre tout de même

++ vYk

Dernière modification par davyk (07/10/2009 13:31:03)


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

#8 07/10/2009 13:53:02

pat
Membre
Inscription : 10/05/2009
Messages : 89
Site Web

Re : URL rewriting

salut davyk,
Toute réponse est utile, tu as bien fait de me répondre.

Je suis chez free d'où le rewriting à 2.

J'ai essayé de déplacer <a name="Haut" title="Haut"></a> dans la div main , mais ça ne change rien.

Merci quand même.

pat

Hors ligne

#9 07/10/2009 18:07:34

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

pat a écrit :

jpg a écrit
Actuellement, une page "système" (non indexable par un moteur de recherche) n'est pas concernée par l'urlrewriting: login, logout, sitemap ...

Je me demande si ce n'est pas la même raison qui fait que les pages appelées par l'intermédiaire de mes boutons "spéciaux" ne tiennent pas compte de l'urlrewriting.

Voici le source d'un de mes boutons :

<a href="index.php?perma=Terre"><img style="width: 180px; height: 45px" 
src="deco/Bout-Terre-of.jpg" onmouseover="this.src='deco/Bout-Terre-on.jpg';" onmouseout="this.src='deco/Bout-Terre-of.jpg';" alt="" width="180" height="45" /></a>

j'ai bien essayer un href="index/=Terre", mais le lien ne fonctionne plus.

Mes paramètres d'activation de l'urlrewriting semblent être corrects car ça fonctionne correctement avec une page appelée depuis un bouton standard.

Dans un menu standard, ces problèmes sont gérés automatiquement par Ziteplus.
Mais tu utilises des boutons personnalisés (beau mais pas standard wink) et c'est à toi de mettre la bonne URL: TinyMCE génère toujours une URL de type permalien (index.php?perma=Terre" par exemple).
Tu vas devoir changer cette URL et mettre Terre.html à la place
Pour reprendre ton exemple:

<a href="index.php?perma=Terre"><img style="width: 180px; height: 45px" 
src="deco/Bout-Terre-of.jpg" onmouseover="this.src='deco/Bout-Terre-on.jpg';" onmouseout="this.src='deco/Bout-Terre-of.jpg';" alt="" width="180" height="45" /></a>

doit être codé ainsi:

<a href="Terre.html"><img style="width: 180px; height: 45px" 
src="deco/Bout-Terre-of.jpg" onmouseover="this.src='deco/Bout-Terre-on.jpg';" onmouseout="this.src='deco/Bout-Terre-of.jpg';" alt="" width="180" height="45" /></a>

Un changement va être introduit en version 0.9.0 ou 0.9.1 afin que tinyMCE puisse renvoyer un lien adapté au contexte d'URLrewriting.

a+
jean-paul

Hors ligne

#10 07/10/2009 18:15:57

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

Petite rectification, je viens de voir dans ton message suivant, que tu utilises urlrewriting=2 (j'ai répondu pour urlrewriting=1)
Le bon code pour le multiview est:

<a href="index/Terre.html"><img style="width: 180px; height: 45px" 
src="deco/Bout-Terre-of.jpg" onmouseover="this.src='deco/Bout-Terre-on.jpg';" onmouseout="this.src='deco/Bout-Terre-of.jpg';" alt="" width="180" height="45" /></a>

a+
jean-paul

Hors ligne

#11 07/10/2009 18:27:00

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

Je viens d'essayer sur ton site cette URL: http://nature.malamute.free.fr/index/Terre.html et je n'ai pas la mise en forme du template.
Tu as peut-etre un problème de configuration, vérifie que le paramètre files_index est bien à index/ (ne pas oublier le / final)

a+
jean-paul

Hors ligne

#12 07/10/2009 19:56:46

pat
Membre
Inscription : 10/05/2009
Messages : 89
Site Web

Re : URL rewriting

désolé, je n'avais pas précisé :
http://nature.malamute.free.fr est le site "officiel" que je trafique le moins possible. Il est encore en zite+8.2 et avec urlrewriting=0
je fais mes essais sur http://sylviepfund.free.fr  zite+8.3 et avec urlrewriting=2

J'ai fait la correction que tu indique (href="index/Terre.html'), ça marche correctement . Ce n'est pas un problème de devoir le faire manuellement, le tout était de savoir ce qu'il convient de faire.

Tu auras certainement une solution pour le pb de lien vers  le Haut...


Merci
pat

Dernière modification par pat (07/10/2009 19:58:25)

Hors ligne

#13 07/10/2009 22:54:29

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : URL rewriting

salut,
tu devrais essayer ça comme lien:
<a href="#">Haut</a>

++ vYk


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

#14 07/10/2009 23:09:15

pat
Membre
Inscription : 10/05/2009
Messages : 89
Site Web

Re : URL rewriting

Désolé, essai non concluant.

Merci quand même

Hors ligne

#15 07/10/2009 23:40:58

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

pat a écrit :

Tu auras certainement une solution pour le pb de lien vers  le Haut...

C'est bien possible roll

tu utilises le multiview de Free .... donc #url va te renvoyer sur la première page, c'est normal.
Il faut préciser le index/ et la page html en cours pour éviter tout problème.

remplace ta ligne

<a href="#Haut">Haut</a>

par celle-ci

<a href="<?php echo $zite->config['files_index'].$zite->struct[$zite->truepage][0].'.html#Haut' ?>">Haut</a>

a+
jean-paul

Hors ligne

#16 08/10/2009 08:34:24

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : URL rewriting

ouais c'est bien bizarre que ça marche pas pour toi et pour moi oui; le fait de mettre # en lien revient irrémédiablement à afficher la même page depuis son début, et ce en html, php  j'en passe
ce lien te fait forcément revenir en début de page mais ne va pas à l'ancre"Haut", c'est sûr, mais comme dans ton template elle est tout en haut..

++


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

#17 08/10/2009 08:53:37

jpg
Administrateurs
Inscription : 19/11/2008
Messages : 2 086
Site Web

Re : URL rewriting

davyk a écrit :

ouais c'est bien bizarre que ça marche pas pour toi et pour moi oui; le fait de mettre # en lien revient irrémédiablement à afficher la même page depuis son début, et ce en html, php  j'en passe
ce lien te fait forcément revenir en début de page mais ne va pas à l'ancre"Haut", c'est sûr, mais comme dans ton template elle est tout en haut..

++

Bonjour davyk,
tu as fait les tests chez Free en multiview ?
car tu sais, j'ai fait les mêmes tests que pat et j'en ai tiré la même conclusion: cela ramène à la première page du site, systématiquement.
En multiview, il y a dans chaque page du site (dans le head) une balise <base href="http://xxxxxxxx/" et c'est ce qui cause - je pense - ce comportement différent des autres modes plus standard ou un simple # fait toujours référence à la page en cours.
Mais là, la seule solution qui marche (en tout cas sur mon site de test) est de préciser la page en cours avant le #, d'où le code de mon message précédent.

a+
jean-paul

Hors ligne

#18 08/10/2009 13:03:20

pat
Membre
Inscription : 10/05/2009
Messages : 89
Site Web

Re : URL rewriting

j'ai écrit:
Tu auras certainement une solution pour le pb de lien vers  le Haut...

J'en étais sûr.  J'ai fait un copier coller de ton code et ça marche parfaitement.

On peut même le simplifier "à la mode davyk" en omettant Haut après le #

L'important étant bien comme le dit jpg, de préciser le "index/" et la page html en cours.

Il va falloir que je me mette au PHP pour décrypter la formule magique. J'imagine qu'elle fait une concaténation après avoir récupèré l'index et le nom de la page en cours.

Le problème avec tout ça, c'est que je suis obligé d'avoir une version locale (boutons, template et d'autres à découvrir) (zazouminiwebserveur n'accepte pas le multiview) et une distante avec le multiview.

Le jeu en vaut-il la chandelle ?

Pat

Hors ligne

#19 08/10/2009 14:28:14

davyk
Membre
Inscription : 09/09/2008
Messages : 819
Site Web

Re : URL rewriting

la version php de jean-paul est une version"zitisée", si je ne me trompe pas en php, ça devrait donner:

<a href="<?php echo $_SERVER['REQUEST_URI'] ?>#">Haut</a>

ce que fait ce script <?php echo $_SERVER['REQUEST_URI'] ?> c'est de récupérer l'adresse de la page en cours(sur le serveur), on a plus qu'à y rajouter #

aller, je vais quand même aller essayer en multiview

++ vYk

EDIT: j'ai testé et ça marche avec le multiview
comme le script de jean-paul fonctionne à merveille (ce qui ne m'étonne pas du tout), laisses-le car j'ai juste testé pour le fun wink


Quand Chuck Norris utilise Windows, il ne plante pas.
ChuckNorrisN'aimePasWindows

Hors ligne

Pied de page des forums