8797 sujets

Développement web côté serveur, CMS

Bonjour,

Voilà je fais face à un problème d'URL rewriting pour un site que je suis en train de reprendre et hébergé chez 1&1.

Le problème est que les paramètres $_GET censés être transmis à la page appelée ne le sont pas et impossible de comprendre pourquoi.
Je creuse le problème depuis hier soir et je ne m'en sors pas. Smiley decu

Et pourtant la règle est toute simple en soit.

En gros avant URL rewriting j'ai (exemple) :
www.monsite.fr/categorie.php?url=ma-categorie&id=1

Et avec URL rewriting je souhaite:
www.monsite.fr/categorie/ma-categorie-1

J'accède bien à ma page "categorie.php" via le lien www.monsite.fr/categorie/ma-categorie-1 mais aucun paramètres $_GET transmis.

Côté .htaccess, j'ai pondu ceci :

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteRule ^categorie/([a-zA-Z0-9\-]+)-([0-9]+)$   categorie.php?url=$1&id=$2 [L,QSA]


Sachant qu'a priori chez 1&1 il faut précisé obligatoirement les 3 premières lignes.

Côté HTML j'ai :

<a href="/categorie/ma-categorie-1">Ma catégorie</a>


J'ai tourné le truc dans tous les sens et là je coince.
J'aurais besoin de votre aide.

A savoir que le domaine sur lequel je suis en train de travailler ("www.mon_site.fr") est situé dans un des répertoires (/wait) d'un autre site ("www.autre_site.fr") ...
Tout ceci est bien sûr transparent pour l'internaute qui ne voit que "www.mon_site.fr".

J'ai fait un phpinfo() au niveau de la page appelée "categorie.php":
Pour les 2 données ci-dessous voilà ce que j'ai:
DOCUMENT_ROOT /kunden/homepages/31/d23nnnnnnn/htdocs/wait
SCRIPT_FILENAME /kunden/homepages/31/d23nnnnnnn/htdocs/wait/categorie.php

Je me dis que ça peut venir de là mais comment adapter le .htaccess ?

Merci par avance.

Claw
bonjour hophop et merci pour ton retour mais ta propo ne change rien... toujours le même souci.

Smiley decu

Je ne sais vraiment plus quoi faire
Modérateur
Bonjour,

la solution, répondue cette semaine par quelqu'un, mais je ne retrouve plus son message…


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]


Redirige moi tout ça sur l'index et gère ensuite à partir de là.
Notez que je le code transforme pas les variables en GET, afin de laisser le GET libre pour l'utiliser…
On récupère la requête grâce à $_SERVER

Ainsi on peut cheminer sur :

-http://www.truc.com/article/voiture/bleue/maispastrop
-http://www.truc.com/user/23/bidule/45
-http://www.truc.com/article/voiture/bleue/maispastrop?reload=1
-http://www.truc.com/user/23/bidule/45?reload=1
Bonjour,

Merci beaucoup pour vos retours.

@xirt:
array $_GET() totalement vide, j'avais déjà fait un print_r().


@kustolovic:
Ca ressemble à une piste que j'avais déjà essayé en fouillant sur le forum. (j'arrive pas non plus à remettre la mai sur le sujet).
J'ai ré-essayé mais ça ne marche toujours pas.

Voilà exactement mon .htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]


RewriteRule ^categorie/([a-zA-Z0-9\-]+)-([0-9]+)$   categorie.php?url=$1&id=$2 [L] 



Je suppose que {REQUEST_FILENAME} correspond à $_SERVER['SCRIPT_FILENAME'], cette variable contient ==> /kunden/homepages/31/d235nnnnnn/htdocs/wait/categorie.php

Et côté HTML j'ai laissé:
<a href="/categorie/ma-categorie-1">Ma catégorie</a>


Est-ce qu'il manque ou est-ce qu'il faut ajouter qqch ?


Je me permets juste d'insister sur le fait que le nom de domaine sur lequel je travaille est
www.mon_site.com , sous-domaine de www.autre_site.com.
En gros quand je me connecte à FilleZilla, à droite je n'ai pas de répertoires "public_ftp", "public_html",etc j'ai juste une série de répertoires correspondant chacun à un nom de domaine/site différent et les données de celui sur lequel je travaille se trouve dans un répertoire qui s'appele "wait'
Modifié par Claw69 (13 Jul 2012 - 09:24)