THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 réecriture d'url

(05-09-2012 17:14:11)


Salut !

J'ai vu tout un tas de post sur ce sujet mais j'y comprends toujours rien !

Je suis en version 1.5.1, j'ai activé le rewrite dans la BO, j'ai activé "rewrite module" dans les modules d'apache (je suis en local sous wamp), j'ai vérifié que "LoadModule rewrite_module modules/mod_rewrite.so" n'était pas en commentaire (pas de #) dans httpd.conf d'apache, j'ai bien mon .htacces à la racine du site (celui par défaut) :

Options +FollowSymlinks

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

</IfModule>

j'ai tenté de le modifier en ajoutant le rewritebase

Options +FollowSymlinks

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/thelia_1.5.1

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

</IfModule>

mais ça ne fonctionne pas, je suis automatiquement dirigé vers une page d'erreur 404.

je sèche surtout sur le #REWRITEURL , dans la doc de thelia il faut remplacer dans le template du site les balises #URL par #REWRITEURL, oui mais ou ? dans les boucles des pages produit, rubrique .. ? je ne trouve pas d'exemple avec l'emplacement de ces balises.

plz besoin d'un coup de main smile

Offline

#2 Re: réecriture d'url

(05-09-2012 18:10:46)


il faut remplacer dans le template du site les balises #URL par #REWRITEURL

Non. On utilise toujours #URL, rewrite activé ou pas.

RewriteBase n'est (en principe) pas nécessaire.

Le .htaccess doit se trouver a la racine de ta boutique, autrement dit au même niveau que le fichier index.php de Thelia


OpenStudio Toulouse

Offline

#3 Re: réecriture d'url

(05-09-2012 20:03:22)


Ok pour #URL, mais quel paramètre faut-il ajouter aux boucles produit, rubrique, contenu, dossier ? peux tu me montrer un exemple d'une boucle en rewriting ?

mon .htaccess est bien à la racine du site et donc au même niveau que mon fichier index.php.

qu'est ce qu'il manque pour que ça fonctionne ?

merci pour ta réponse Roadster.

Offline

#4 Re: réecriture d'url

(05-09-2012 22:53:08)


mais quel paramètre faut-il ajouter aux boucles produit, rubrique, contenu, dossier

Aucun, ça marche tout seul.

Si dans le BO, configuration -> Gestion des variables la variable 'rewrite' vaut 1, #URL est l'URL ré-écritre. Si rewrite=0, #URL est l'URL non ré-écrite.


OpenStudio Toulouse

Offline

#5 Re: réecriture d'url

(05-09-2012 23:42:18)


Alors je ne comprends pas pourquoi ça ne fonctionne pas.. j'ai toujours cette erreur 404 et cette page introuvable, c'est très embêtant et je ne sais vraiment pas quoi faire de plus .. ?

Si des personnes ont rencontrés le même style de problème avant de trouver l'erreur, vos messages seront les bienvenues !

Offline

#6 Re: réecriture d'url

(06-09-2012 00:16:10)


Bonsoir,

Au survol, le lien donne quoi exactement sans et avec l'url-rewriting?

sinon le rewritebase ci-dessus, il est collé à thelia_1.5.1:
RewriteBase/thelia_1.5.1

Cela aurai du générer une erreur 500, les .htaccess sont-ils pris en compte par apache?
Fais volontairement un grosse erreur dans ton .htaccess pour voir si ça déclenche une erreur.


Linux-live-cd.org
Serveur Linux / Thélia 1.5.x.x / Thélia 2.x.x
PHP 5.4.x / Mysql 5.5.x
Compte Twitter

Offline

#7 Re: réecriture d'url

(06-09-2012 02:45:54)


Juste pour tester essaies sans
RewriteBase/thelia_1.5.1
parce que normalement pas de souci cool

a condition bien sur:

Roadster31 wrote:

Si dans le BO, configuration -> Gestion des variables la variable 'rewrite' vaut 1, #URL est l'URL ré-écritre. Si rewrite=0, #URL est l'URL non ré-écrite.

mais bon tu indique dans ton post #1 que s'est fait donc smile

Sinon est ce que tu as verifie la presence et les elements de la table 'reecriture' dans ta BDD qu'ils soient en phase avec l'url reecrite de la fiche produit.

Je me souviens d'avoir teste il y a quelques temps il plugin de reecriture vraiment bien fait, dans les contributions j'ai trouve celui ci mais suis par contre plus si s'est le bon tongue


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline

#8 Re: réecriture d'url

(06-09-2012 08:12:54)


boyquotes wrote:

Bonsoir,

Au survol, le lien donne quoi exactement sans et avec l'url-rewriting?

En survolant par ex le lien <a href="#URLFOND(rubrique&id_rubrique=6)">titre</a> (je précise au cas ou..) ça donne :
Sans : http://localhost/thelia_1.5.1/?fond=rubrique&id_rubrique=6
Avec : http://localhost/thelia_1.5.1/?fond=rubrique&id_rubrique=6
Donc la meme chose Oo

boyquotes wrote:

Cela aurai du générer une erreur 500, les .htaccess sont-ils pris en compte par apache?
Fais volontairement un grosse erreur dans ton .htaccess pour voir si ça déclenche une erreur.

J"ai re-testé, j'ai bien une erreur 404.
Dans l'httpd conf. d'apache j'ai cette ligne en commentaire :
# AllowOverride controls what directives may be placed in .htaccess files.  ..?
J'ai fais volontairement une erreur dans le .htacces et à nouveau cette page 404.

reg wrote:

Juste pour tester essaies sans
RewriteBase/thelia_1.5.1
parce que normalement pas de souci

J'avais déjà testé avec le .htacces de base et même problème.

Options +FollowSymlinks

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

</IfModule>
reg wrote:

Sinon est ce que tu as verifie la presence et les elements de la table 'reecriture' dans ta BDD qu'ils soient en phase avec l'url reecrite de la fiche produit.

hum.. dans la BDD, le paramètre correspondant à l'url réecritre est :
&id_rubrique=6
et sur ma page html :
#URLFOND(rubrique&id_rubrique=6)

ça fait une différence ?

Sinon l'url réecrite correspond à celle présente dans le BO.

Offline

#9 Re: réecriture d'url

(06-09-2012 20:55:37)


Bonsoir,

Il faut configurer AllowOverride , mettre par exemple:
AllowOverride All

Car une erreur dans un .htaccess fait une erreur 500(Internal Server Error) et pas 404(Not found).
Donc tant qu'ils seront pas pris en compte, pas d'url rewriting

Sinon normal URLFOND ne semble pas réécrire les url, #URL oui


Linux-live-cd.org
Serveur Linux / Thélia 1.5.x.x / Thélia 2.x.x
PHP 5.4.x / Mysql 5.5.x
Compte Twitter

Offline

#10 Re: réecriture d'url

(07-09-2012 02:15:41)


En fait dans la table reecriture il y a plusieurs champs

URL=> url reecrite (en fonction du champ PARAM) ex: 1--test1.html
pour PARAM=> &id_produit=1&id_rubrique=1

ex: 1--test1.html se retrouve dans le champ URL reecrite BO>catalogue>rubrique1>produit1

Nikita wrote:

dans la BDD, le paramètre correspondant à l'url réecritre est :
&id_rubrique=6

cela correspond au PARAM de la reecriture d'1 rubrique la 6
dans le champ URL tu devrais avoir: 6-nomdetarubrique.html
si tu as bien 6-nomdetarubrique.html et que tu le rentre dans ta barre d'adresse tu obtiens quoi?

Moi aussi j'utilise Wamp mais je ne touche jamais (enfin tres exceptionnellement tongue) a httpd.conf quand tu active 1 module Wamp s'occupe de tout enfin presque wink


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline

#11 Re: réecriture d'url

(07-09-2012 18:30:46)


Je t'ai bien suivi jusque là Reg et ça correspond. En la rentrant dans la barre d'adresse j'obtiens l'eternelle page 404 : The requested URL /thelia_1.5.1/6-nomrubrique.html was not found on this server..

boyquotes, j'ai tenté avec #URL , #URFOND ... c'est pareil.
idem pour AllowOverride All.

Je sens que je ne vais pas m'en sortir et ça me saoule sérieux.. mais p... d'où ça peut venir ? y a forcément un truc qui coince quelque part.

Offline

#12 Re: réecriture d'url

(07-09-2012 18:45:49)


je viens d'installer le plugin réecriture et exactement le même problème..

Offline

#13 Re: réecriture d'url

(08-09-2012 02:22:07)


Nikita perso je ne sais plus trop...
La solution serait peut etre de mettre a jour vers Thelia 1.5.2
il me semble me souvenir que j'avais eu le meme probleme avec la version 1.5.0 la je ne l'ai plus pour verifier mais tu risque rien a le faire wink


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline

#14 Re: réecriture d'url

(08-09-2012 09:20:31)


La solution serait peut etre de mettre a jour vers Thelia 1.5.2

Mais non.

Le fichier htaccess n'est pas pris en compte par Apache.

1) il doit se nommer très exactement .htaccess (point htaccess)
2) il doit se trouver dans le même répertoire que le fichier index.php de Thelia.

Dans Thelia, la variable rewrite doit valoir 1, et tu dois utiliser #URL dans tes boucles. Ce n'es pas plus compliqué que ça.


OpenStudio Toulouse

Offline

#15 Re: réecriture d'url

(09-09-2012 09:00:14)


j'ai eu le même soucis et je ne l'ai toujours pas reglé .
pourtant j'ai suivi le procede a  la lettre et je suis renvoyé sur une page 404.
je suis aussi en local je sais pas trop si ca fait une difference.

Last edited by phiphi (09-09-2012 09:04:49)

Offline

#16 Re: réecriture d'url

(09-09-2012 09:29:04)


Ca sent la config d'Apache pas bien maitrisée, tout ça smile


OpenStudio Toulouse

Offline

#17 Re: réecriture d'url

(09-09-2012 11:39:40)


1) il doit se nommer très exactement .htaccess (point htaccess)
2) il doit se trouver dans le même répertoire que le fichier index.php de Thelia.

Dans Thelia, la variable rewrite doit valoir 1, et tu dois utiliser #URL dans tes boucles.

tout est ok mais ça ne fonctionne pas.

mauvaise maitrise d'apache .. fort possible mais j'ai fait le test à l'état initial d'apache simplement en activant le module rewrite et le problème reste le même.

Tampis, je vais continuer mon travail et j'espère vraiment pouvoir résoudre ce dilème avant la mise en ligne de mon site.

merci à vous d'avoir essayé de m'aider.

Offline

#18 Re: réecriture d'url

(10-09-2012 01:31:42)


Euh je vais me faire engueuler car deja propose mais bon tentez 1 mise a jour vers 1.5.2 tongue


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline

#19 Re: réecriture d'url

(22-11-2013 15:25:48)


Bonjour,

Je remonte ce vieux sujet car c'est celui qui me semble le plus similaire à mon problème .. quoique. En gros ici, les #URL sont bien réécrits et les #URLFOND ne le sont pas. Pour un même lien vers un contenu 8 dans le dossier 7, avec #URL j'ai bien la réécriture, avec #URLFOND(dossier,id_contenu=#ID&id_dossier=#DOSSIER) (ou bien sûr #ID=8 et #DOSSIER=7), ce n'est pas ré-écrit alors que le wiki semble dire que cela fonctionne pour les 2 ...

C'est que moi ou c'est un pbm constaté ? L'avantage est que dans mon cas de figure, vu que ça marche avec #URL, je suis à peu près sûr de mon htaccess, de mod_rewrite, de la variable à 1, etc ...

Précision: Thelia en 1.5.3.4, pbm constaté sur Wamp et en ligne sur mon serveur, donc sur 2 installations différentes.

Merci. Pierre.

Last edited by pierrot (22-11-2013 15:27:29)

Offline

#20 Re: réecriture d'url

(22-11-2013 16:23:05)


Ca marche avec #URLFOND(contenu,id_contenu=#ID&id_dossier=#DOSSIER).


OpenStudio Toulouse

Offline

#21 Re: réecriture d'url

(23-11-2013 11:00:06)


Hello,

Juste une idée, dans la conf de apache les .htaccess sont bien pris en compte ? avec

# Fichier de restriction des accès 
# non conseillé, préferer les directives internes au fichier de configuration
# voir [[http://httpd.apache.org/docs/2.2/howto/htaccess.html]]
AccessFileName .htaccess

et aussi qu'elle est la version d'apache, car je crois que les directives <IfModule ...> ne sont pas pris en compte en dessous d'une certaine version (de mémoire 2.2)...

@++


WebHamster

Offline

#22 Re: réecriture d'url

(24-11-2013 17:46:47)


roadster31 wrote:

Ca marche avec #URLFOND(contenu,id_contenu=#ID&id_dossier=#DOSSIER).

Bonjour,

Désolé j'avais pas vu la réponse.

J'ai pas mal avancé entre temps, et j'ai effectivement résolu cet exemple spécifique en utilisant #URL carrément, car finalement, pas très utile de se servir de #URLFOND dans cet exemple.

Mais mon problème reste entier avec des fonds spéciaux, par ex. un fond qui récupère des produits liés à un contenu, ce qui m'a obligé à créer un fond "auteur" (un auteur) que j'utilise avec #URLFOND(auteur,id_contenu=#ID) dans un premier fond "auteurs" (liste des auteurs). Je croyais que justement le but de #URLFOND était de pouvoir faire de la ré-écriture même pour des fonds spécifiques, et pour l'instant, j'ai pas l'impression que ce soit concluant :-(

Ou alors il y a un truc que je pige pas .

Pierre.

Offline

#23 Re: réecriture d'url

(25-11-2013 10:52:39)


Thelia ne crée pas automatiquement d'URL ré-écrite pour les fonds. Tu dois le faire manuellement, avec le plugin gestion des réécritures, par exemple.


OpenStudio Toulouse

Offline

#24 Re: réecriture d'url

(30-11-2015 16:36:23)


options -indexes

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([a-zA-Z_.\-0-9]+)$ index.php?url=$1 [L,QSA]

</IfModule>

Salut, voilà le réel htacces sans l'erreur 500 à la noix... celui fourni dans le template est erroné! ++

Edit: thélia 1.5.4.3, hébergeur easy-hébergement.

Last edited by Yzzo (30-11-2015 16:38:36)

Offline

#25 Re: réecriture d'url

(30-11-2015 17:01:32)


Celui de la distrib marche très bien dans la majorité des cas.

Mais certains hébergeurs imposents des trucs plus ou moins farfelus ou exotiques, et là, il faut adapter...


OpenStudio Toulouse