Jump to content

RESOLU problème URL rewriting sur liens CMS du footer.


justincarton

Recommended Posts

Bonjour à tous.

 

Je suis sous Prestashop 1.4.4.0

J'ai activé l'URL Rewriting et tout c'est bien déroulé.

J'arrive à accéder à mes produits, photos. etc...

 

Par contre, je rencontre un problème au niveau des lien des pages CMS qui sont dans mon footer...

 

 

 

Voici ce qui ce passe

 

Si à partir de l'accueil, dans mon footer, je clique sur le 1er lien cms, appelons le CMS1 ca marche parfaitement. L'url est bonne.

 

Par contre, si à partir de cette page CMS1, je souhaite cliquer sur un autre lien CMS (CMS2) de mon footer, cela me renvoit une page 404.

 

J'ai trouvé l'explication du problème mais je ne sais pas comment le résoudre...

 

En effet, a partir de la page d'accueil, lorsque je clique sur le lien CMS1 de mon footer, l'url est correcte : www.exemple.com/cms.php?id_cms=1

et elle renvoie bien sur la bonne page.

 

Par contre, si à partir de cette même page CMS1, je souhaite aller sur la page CMS2 via mon footer, voici l'url générée :

www.exemple.com/content/cms.php?id_cms=2

 

En fait il rajoute ce chemin /content/

C'est donc normal qu'il ne trouve pas la page de mon CMS2

 

Et c'est le cas pour toutes les pages CMS que je tente d'atteindre à partir d'une page CMS.

 

Cela ne se passe que lorsque la réécriture d'URL est activée...

Sans la réécriture tout est ok.

 

Quelqu'un peut il m'aider à résoudre le problème ?

 

Merci d'avance

Link to comment
Share on other sites

Problème résolu !

 

En fait cela s'explique par le fait que j'avais codé en dur mes URLs :

<a href="cms.php?id_cms=5.php">

 

Du coup lors de l'URL Rewriting, cela ne fonctionnait pas.

 

Je les ai codées de cette façon :

<a href="{$link->getPageLink('cms.php?id_cms=5.php')}">

 

et maintenant ca fonctionne !!!

 

J'espère que ça pourra aider certain !

Link to comment
Share on other sites

Actuellement ta fonction va générer le lien suivant : /fr/cms.php?id_cms=5.php (cela rajoute le /fr/ mais ne correspond pas vraiment à l'url rewritté).

Je pense malheureusement que la seule solution (à moins de modifier le PHP), c'est de mettre le lien réécrit "en dur" dans ton tpl de la manière suivant : {$link->getCMSLink('5', 'lien-test')}">

Link to comment
Share on other sites

D'accord.

 

Dans mon footer j'ai aussi les liens vers les pages meilleures vents, promotions etc...

Je les ai codés de cette façon : <a href="{$link->getPageLink('new-products.php')}">

 

Cela est il correct?

 

Dans ce cas, l'url est bel et bien correctement rewrittée

 

Merci

Link to comment
Share on other sites

  • 5 months later...
  • 4 months later...
  • 4 months later...

Bonjour,

 

Voici la solution qui a fonctionné pour moi:

 

Dans mon .htaccess, j'avais à la ligne concernant les pages cms ceci :

 

RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?isolang=$1&id_cms=$2 [QSA,L]
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?isolang=$1&id_cms_category=$2 [QSA,L]

 

Donc à la fin de la première ligne j'avais:

... &id_cms=$2 ...

 

Que j'ai remplacé par:

... &id_cms=$1 ...

 

J'ai juste remplacé le 2 par 1.

 

Et tout re-fonctionne normalement.

 

J’espère que cela aidera.

 

A+

Link to comment
Share on other sites

  • 8 months later...

Bonjour, j'ai le meme problème, avec ou sans réecriture d'url, j'ai changé 2 par 1 dans le htaccess toujours pareil.

Lorsque je part de la page d'acceuil vers une page cms cela fonctionne

et quand je part d'une page cms à une autre,j'ai content/ qui ce rajoute cela me donne

monsite/content/content/1-qui-sommes-nous par exemple au lieu de monsite/content/1-qui-sommes-nous

de plus

lorque je parts d'une page produit vers une page cms cela me donne:

monsite/id_monproduit/content/1-qui-sommes-nous

c'est très bizard, je pense qu'il y a un problème dans le htaccess mais ou?

Si quelqu'un à la solution, je suis sur prestashop 1.4.8.2

 

 

voici mon htaccess:

RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$1$2.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^c/([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^c/([a-zA-Z-]+)/[a-zA-Z0-9-]+\.jpg$ /img/c/$1.jpg [L]
RewriteRule ^([0-9]+)(\-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*\.jpg$ /img/c/$1$2.jpg [L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^[a-zA-Z0-9-]*/([0-9]+)\-[a-zA-Z0-9-]*\.html /product.php?id_product=$1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]*(/[a-zA-Z0-9-]*)+ /category.php?id_category=$1&noredirect=1 [QSA,L]
RewriteRule ^([0-9]+)\-[a-zA-Z0-9-]* /category.php?id_category=$1 [QSA,L]
RewriteRule ^([0-9]+)__([a-zA-Z0-9-]*) /supplier.php?id_supplier=$1 [QSA,L]
RewriteRule ^([0-9]+)_([a-zA-Z0-9-]*) /manufacturer.php?id_manufacturer=$1 [QSA,L]
RewriteRule ^content/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms=$1 [QSA,L]
RewriteRule ^content/category/([0-9]+)\-([a-zA-Z0-9-]*) /cms.php?id_cms_category=$2 [QSA,L]
RewriteRule ^page-non-trouvee$ /404.php [QSA,L]
RewriteRule ^adresse$ /address.php [QSA,L]
RewriteRule ^adresses$ /addresses.php [QSA,L]
RewriteRule ^authentification$ /authentication.php [QSA,L]
RewriteRule ^meilleures-ventes$ /best-sales.php [QSA,L]
RewriteRule ^panier$ /cart.php [QSA,L]
RewriteRule ^contactez-nous$ /contact-form.php [QSA,L]
RewriteRule ^bons-de-reduction$ /discount.php [QSA,L]
RewriteRule ^suivi-commande-invite$ /guest-tracking.php [QSA,L]
RewriteRule ^historique-des-commandes$ /history.php [QSA,L]
RewriteRule ^identite$ /identity.php [QSA,L]
RewriteRule ^fabricants$ /manufacturer.php [QSA,L]
RewriteRule ^mon-compte$ /my-account.php [QSA,L]
RewriteRule ^nouveaux-produits$ /new-products.php [QSA,L]
RewriteRule ^commande$ /order.php [QSA,L]
RewriteRule ^details-de-la-commande$ /order-follow.php [QSA,L]
RewriteRule ^commande-rapide$ /order-opc.php [QSA,L]
RewriteRule ^avoirs$ /order-slip.php [QSA,L]
RewriteRule ^mot-de-passe-oublie$ /password.php [QSA,L]
RewriteRule ^promotions$ /prices-drop.php [QSA,L]
RewriteRule ^recherche$ /search.php [QSA,L]
RewriteRule ^plan-du-site$ /sitemap.php [QSA,L]
RewriteRule ^magasins$ /stores.php [QSA,L]
RewriteRule ^fournisseurs$ /supplier.php [QSA,L]
</IfModule>

# Catch 404 errors
ErrorDocument 404 /404.php

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

FileETag INode MTime Size
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...