Htaccess et cet url Rewriting décidemment tjrs pas copain

Nouveau WRInaute
Désolé de revenir sur le sujet mais je débute et ...ça rame plutot sec

voila
j'ai des url de type

Code:
monsite.com/index.php?cat_id=10
ou
monsite.com/index.php?cat_id=10&page=2 

 ...etc ...

je souhaite que le htaccess puisse reecrire sous la forme ou sous une autre forme peu importe d'ailleurs, le tout etant d'obtenir une forme html

Code:
monsite.com/cat-10.html

j'ai donc pratiqué comme ceci apres avoir fouillé bcp sur le forum,

Code:
Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^cat-(.+)\.html /index.php?_cat_id=$1&page=$2 [QSA,L]

Mais je n'ai toujours pas trouvé la formule puisque ça veut pas marcher

Y a t-il qq chose que je doive retoucher au script des pages index.php ?

Merci à ceux qui accepteront de me donner un coup de main
 
WRInaute passionné
RewriteEngine on
RewriteRule ^cat-(.+)-(.+)\.html$ /index.php?cat_id=$1&page=$2 [QSA,L]
RewriteRule ^cat-(.+)\.html$ /index.php?cat_id=$1 [QSA,L]

les / sont à rajouter chez certains hébergeurs (OVH par exemple)
 
Nouveau WRInaute
Je crise

j'ai essayé ta propo
-> aucun effet

j'ai donc repris le calque de formulation pour le phpbb, ce qui donne

Code:
Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^annu.* index.php 
RewriteRule ^annu([0-9]*)-([0-9]*).* index.php?cat_id=$1&page=$2

-> aucun effet

Question pour reverifier chaque étage :
1) si l'url rewriting fonctionne avec le phpbb cela sigini donc que les parametres apache sont corrects ! ?

2) bah alors ..pourquoi ca veux pas marcher ? :?
 
WRInaute passionné
Il faut toujours mettre les règles les PLUS STRICTES AVANT.
"annu et n'importe quoi après" c'est MOINS strict que "annu et des chiffres, un tiret puis un point et des trucs"

Ensuite, donne un extrait de tes règles phpBB stp.
Enfin, dis-moi si dans ton navigateur
index.php?cat_id=1&page=3 fonctionne
et si annu.html fonctionne.
 
Nouveau WRInaute
Oui les 2 fonctionnent
index.php?cat_id=1&page=1 meme s'il n'y a as de variables
et
annu.html fonctionne aussi

quand tu dis mettre les regles les + strictes avant, cela signifie ? (désolé je suis à la base :) )
 
WRInaute passionné
RewriteRule ^annu([0-9]+)-([0-9a-zA-Z_]+)\.html$ /index.php?cat_id=$1&page=$2 [QSA,L]
RewriteRule ^annu([0-9]+)\.html$ /index.php?cat_id=$1 [QSA,L]

voila l'ordre des règles, pour les variables:

([0-9]+) pour les caractères numériques
([0-9a-zA-Z_]+) pour les caractères alphanumeriques
 
Nouveau WRInaute
J'ai fait l'essai également

Code:
RewriteRule ^annu([0-9]+)-([0-9a-zA-Z_]+)\.html$ /index.php?cat_id=$1&page=$2 [QSA,L] 
RewriteRule ^annu([0-9]+)\.html$ /index.php?cat_id=$1 [QSA,L]
et sans le /index.php
Code:
RewriteRule ^annu([0-9]+)-([0-9a-zA-Z_]+)\.html$ index.php?cat_id=$1&page=$2 [QSA,L] 
RewriteRule ^annu([0-9]+)\.html$ index.php?cat_id=$1 [QSA,L]

-> je suis toujours au meme point

Oui je sais c'est entétant
 
WRInaute passionné
bon, quel est ton hebergeur? tu est en mutualisé, en dédié? à tu un messahe d'erreur? lequel?
 
Nouveau WRInaute
hebergeur nexlink sur serveur dédié et sans aucun message d'erreur, comme si rien n'avait été mis sur htaccess

Par ailleurs, je dispose d'un forum phpbb qui fonctionne correctement en url rewriting ...

Oui je sais :cry:
 
Nouveau WRInaute
Afin de tester si les options apache fonctionnent (meme si j'etais deja sur de mon coup puisque l'url rewriting fonctionne deja avec le forum phpbb), j'ai testé ceci : (ce n'est pas de mon invention)

1. Créez un fichier html simple, nommez le « trouve.html ».
2. creer un fichier .htaccess en y ajoutant les 3 lignes suivantes. Faites très attention à utiliser la syntaxe précise ou mieux, utilisez le copier/coller :


Options +FollowSymlinks
RewriteEngine on
RewriteRule ^nexistepas.html$ trouve.html [L]

3. Télécharger le fichier .htaccess et le fichier trouve.html dans un repertoire style "test" de votre site web .

4. Lancez le navigateur et entrez l’URL : http://www.votresite.com/test/nexistepas.html

Et là, deux solutions se présentent :

Soit votre page test « trouve.html » s’affiche c’est parfait, le module est activé.
Soit vous avez une erreur 404 ou encore plus probablement une erreur 500 et malheureusement il n’y a pas grand-chose à faire... Il est possible que votre hébergeur ne vous permette pas d’ajouter le "FollowSymLinks" dans les options Apache.

Le test fonctionne donc j'en déduit que les options apache sont correctements configurées

Je n'arrive par conséquent pas à comprendre pourquoi les options htaccess ne fonctionnent pas
 
Nouveau WRInaute
juste une derniere info, en editant le httpd.conf, je dispose de l'instruction

Code:
LoadModule rewrite_module modules/mod_rewrite.so

Mais pas de celle-ci
Code:
AddModule mod_rewrite.c

a) est ce la raison de mon infortune ?
b) puis je inserer cette insctruction n'importe ou dans le fichier conf ?
 
Nouveau WRInaute
extrait des regles phpbb :

Code:
Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^forums.* index.php 
RewriteRule ^mforum([0-9]*).* viewforum.php?f=$1&mark=topics 
RewriteRule ^viewforum([0-9]*)-([0-9]*)-([0-9]*).* viewforum.php?f=$1&topicdays=$2&start=$3 
RewriteRule ^forum([0-9]*).* viewforum.php?f=$1 
RewriteRule ^ptopic([0-9]*).* viewtopic.php?t=$1&view=previous 
RewriteRule ^ntopic([0-9]*).* viewtopic.php?t=$1&view=next 
RewriteRule ^stopic([0-9]*)-([0-9]*).* viewtopic.php?t=$1&watch=topic&start=$2 
RewriteRule ^utopic([0-9]*)-([0-9]*).* viewtopic.php?t=$1&unwatch=topic&start=$2 
RewriteRule ^ftopic([0-9]*)-([0-9]*)-([a-zA-Z]*)-([0-9]*).* viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 
RewriteRule ^ftopic([0-9]*)-([0-9]*).* viewtopic.php?t=$1&start=$2 
RewriteRule ^ftopic([0-9]*).* viewtopic.php?t=$1 
RewriteRule ^ftopic([0-9]*).html viewtopic.php?t=$1&start=$2&postdays=$3&postorder=$4&highlight=$5 
RewriteRule ^setopic_([0-9]*)-([a-zA-Z0-9]*).* viewtopic.php?t=$1&highlight=$2 
RewriteRule ^sutra([0-9]*).* viewtopic.php?p=$1 
RewriteRule ^newtopic([0-9]*).* viewtopic.php?t=$1&view=newest
 
Nouveau WRInaute
Cela ne peut marcher puisque phpbb se trouve dans un repertoire "forum" et que l'url rewriting dont nous parlons et le nouvel htaccess se trouve à la racine
 
Nouveau WRInaute
par contre
si je tape .www.monsite.com/annu.html je suis bien sur la page correspondante à .www.monsite.com/index.php
si je tape .www.monsite.com/annu10.html je suis bien sur la page correspondante à www.monsite.com/index.php?cat_id=10

avec
Code:
Options +FollowSymlinks 
RewriteEngine On 
RewriteRule ^annu.html* index.php 
RewriteRule ^annu([0-9]*).html* index.php?cat_id=$1 
RewriteRule ^annu([0-9]*)-([0-9]*).html* index.php?cat_id=$1&page=$2

mais je n'ai toujours pas de rewriting

Faut il que je modifie le script suivant : ?
Code:
<a href="index.php?cat=<? echo $categorie["id"]; ?><? echo $cat["cat_name"]; ?></a>
 
WRInaute passionné
pffffffffffffffff
Tu m'excuseras mais
J'en ai un peu marre de répéter tous les jours que la réécriture des URL c'est une redirection, pas un tour de magie... tu croyais vraiment que trois lignes dans un fichier .htaccess allaient faire que tes liens index.php? se renomment tous seuls dans les pages qui font ces liens ? c'est la fée clochette qui allait prendre notepad et faire les corrections à ta place...
 
Nouveau WRInaute
J'avoue oui j'y ai cru ! :oops: ça arrangerait bien les choses

Je n'ai donc pas encore compris comment il fallait que je fasse sur la réécriture des url
 
WRInaute passionné
Hmmmm ça faisait longtemps.
J'ai l'honneur de délivrer aujourd'hui le label officiel tant convoité...


BLEU
 
Nouveau WRInaute
:D j'assume cher ami, je l'avais dit en commencant ce post

bon
1) tu n'as pas fait avancer mon schmilblick avec ce dernier post

j'ai donc fini par comprendre et trouver le mécanisme :p ...

patience et perseverance ....

Merci quand meme pour tes interventions qui finalement m'ont quand meme aidées ;)

question : c'est un deshonneur que de commencer ? de vouloir comprendre ? et surtout de poser la question ?
 
WRInaute passionné
olivnorm76 a dit:
:D j'assume cher ami, je l'avais dit en commencant ce post

bon
1) tu n'as pas fait avancer mon schmilblick avec ce dernier post
Ce n'était pas le but, de toute façon.

j'ai donc fini par comprendre et trouver le mécanisme :p ...
Ben voilà... c'est ça que je veux voir...

patience et perseverance ....
Ah :)

Merci quand meme pour tes interventions qui finalement m'ont quand meme aidées ;)
Pas de quoi

question : c'est un deshonneur que de commencer ?
Non
de vouloir comprendre ?
Non
et surtout de poser la question ?
Non

Mais tu n'as pas posé la question suivante
question : c'est une perte de temps pour tout le monde que de poser des questions dont on a déjà la réponse, ou dont on pourrait trouver la réponse par soi-même en moins de temps qu'il n'en faut pour poser la question sur un forum ?
Dont la réponse est oui...

A partir du moment où t'avais compris comme un grand que
Code:
<a href="index.php?cat=<? echo $categorie["id"]; ?><? echo $cat["cat_name"]; ?></a>
était le problème, c'était vraiment pas la peine de revenir avec
Je n'ai donc pas encore compris comment il fallait que je fasse sur la réécriture des url
:roll: ... typiquement c'est le genre d'attitude qui donne l'impression que tu attends qu'on te mâche le pain, avant de te le mettre dans la bouche... :wink:
 
Discussions similaires
Haut