Page 1 sur 5
Mod_Rewrite
Posté : 06 juin 2010, 20:02
par Fredy07
Bonjour,
Je fais la reecriture des URL, mais il affiche une page blanche du genre 404, voila le detail de la reecriture:
fichier htaccess:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^mapage-([0-9]+)\.html$ /index.php?rubrique=$1 [L]
Le lien est sous forme de: mapage-1.html
Les pseudo frames sont de la maniere:
<?php
// On récupère la rubrique passée en paramètre
if(isset($_GET["rubrique"])) $rubrique = $_GET["rubrique"];
else $rubrique = "";
// On affiche la page associée à la rubrique
switch ($rubrique)
{
case 'mapage1':
include('page_1.php');
break;
case 'mapage2':
include('page_2.php');
break;
case 'mapage3':
include('page_3.php');
break;
default:
include('accueil.php');
break;
}
?>
Merci pour votre aide
Re: Mod_Rewrite
Posté : 07 juin 2010, 10:40
par AoSiX
Hello,
petite réponse rapide ( mais efficace ! )
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^mapage-([0-9]+)\.html$ /index.php?rubrique=$1 [L]
Là tu dis que ?rubrique=un nombre
switch ($rubrique)
{
case 'mapage1':
include('page_1.php');
break;
case 'mapage2':
include('page_2.php');
break;
....
Et là tu fais un switch en attendant un résultat comme mapage1, mapage2...mais rubrique = 1 / 14 / 78 ..... pas mapage1, mapage14, mapage78 !
Éclaircies déjà ce point, je ne pense pas que ça va résoudre tout, mais ce sera déjà un bon point !
Re: Mod_Rewrite
Posté : 07 juin 2010, 16:48
par Fredy07
Là tu dis que ?rubrique=un nombre
Je veux que ca se soit ?rubrique=mapage1, ?rubrique=mapage2, ainsi de suite
Re: Mod_Rewrite
Posté : 07 juin 2010, 16:51
par AoSiX
Dans ce cas je pense que
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^mapage-([0-9]+)\.html$ /index.php?rubrique=mapage$1 [L]
devrait te convenir !
Re: Mod_Rewrite
Posté : 08 juin 2010, 17:55
par Fredy07
J'ai fais ca:
Code : Tout sélectionner
RewriteRule ^index.php/+([a-zA-Z0-9]+)-([a-zA-Z0-9]+)\.html$ index.php?rub=$1&srub=$2
Avec la structure de mon URL est en general: index.php/rub-srub.html, mais je me trouve face a d'autres problemes, je perds la mise en place des styles, les images n'apparaissent pas,...
Re: Mod_Rewrite
Posté : 08 juin 2010, 17:59
par stealth35
ouai le coup du slash ca pose des problèmes
pourquoi ne pas directement faire
comme ca tu feras direct : rub-srub.html

Re: Mod_Rewrite
Posté : 08 juin 2010, 19:02
par Fredy07
J'ai trouve la solution en mettant comme ca:
Code : Tout sélectionner
RewriteRule ([a-zA-Z0-9]+)\.html$ index.php?rub=$1
RewriteRule ([a-zA-Z0-9]+)-([a-zA-Z0-9]+)\.html$ index.php?rub=$1&srub=$2
Ca me cause un probleme, si le lien est sous forme de: index.php?rub=$1&srub=$2 ca marche pas, mais si le lien est sous forme de index.php?rub=$1, ca marche tres bien
Re: Mod_Rewrite
Posté : 08 juin 2010, 19:12
par Fredy07
ouai le coup du slash ca pose des problèmes
pourquoi ne pas directement faire
comme ca tu feras direct : rub-srub.html

Je l'ai applique, maintenant le cas de rub.html ne marche pas, et rub-srub.html marche bien
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(\w+)-(\w+).html$ index.php?rub=$1&srub=$2 [L]
Re: Mod_Rewrite
Posté : 08 juin 2010, 19:22
par stealth35
normal le regexp est fais pour 2 paramètres et pour ta page de type index.php?rub=$1&srub=$2
si tu veux 1 paramètre c'est
RewriteRule ^(\w+).html$ index.php?rub=$1
tu peu faire les 2
Code : Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(\w+).html$ index.php?rub=$1 [L]
RewriteRule ^(\w+)-(\w+).html$ index.php?rub=$1&srub=$2 [L]
sinon fraudai essayer comme ca :
Re: Mod_Rewrite
Posté : 08 juin 2010, 20:55
par Fredy07
J'avance un peu, je voudrais un peu plonger au fond et faire comme ca:
rub-srub-cat
RewriteRule ^(\w+)-(\w+)-(\w+).html$ index.php?rub=$1&srub=$2&cat=$3 [L]
Mais supposons que l'un des parametres contient un (_) ou (-) ou (.) des majiscules et miniscules, par exemple: Sport-Foot-Joueurs_Selectionnes
Ce code ne marche pas:
RewriteRule ^(\w+)-(\w+)-(\w+).html$ index.php?rub=$1&srub=$2&cat=$3 [L]
Re: Mod_Rewrite
Posté : 08 juin 2010, 23:56
par stealth35
a toi après de bien formater ton adresse
Re: Mod_Rewrite
Posté : 10 juin 2010, 12:48
par Fredy07
ca marche bien, merci pour votre aide
Re: Mod_Rewrite
Posté : 13 juin 2010, 14:31
par Fredy07
J'ai rencontre un petit probleme en recuperant l'id:
le fichier htaccess:
RewriteRule ^(\w+)-(\w+)-([\w.-_]+).html$ index.php?rub=$1&srub=$2&idmcat=$3 [L]
le fichier php:
$idmcat = $_GET['idmcat'];
$rub = $_GET['rub'];
$srub = $_GET['srub'];
echo $rub.'<br>';
echo $srub.'<br>';
echo $idmcat.'<br>';
je recupere ma rub et srub alors que l'idmcat je le recupere pas, le lien est sous forme de:
echo '<a href="'.$rub.'-'.$srub.'-'.$idmcat.'.html" class="Link01">';
Re: Mod_Rewrite
Posté : 15 juin 2010, 17:08
par Fredy07
Est ce qu'il y a quelqu'un qui a une idee sur ce probleme
Re: Mod_Rewrite
Posté : 15 juin 2010, 17:13
par stealth35
Est ce qu'il y a quelqu'un qui a une idee sur ce probleme
deja ton regexp n'est pas bon
c'est
ensuite fais plutot un
print_r($_GET);
comme les erreurs ne s'affiche pas je conseil de vérifier les valeurs dans tond php.ini
