Mod_Rewrite

Eléphant du PHP | 214 Messages

16 juin 2010, 20:20

Je doute que ce probleme vient du code qui genere mes pages pseudo frames:
elseif ($srub=='BaramijTV')
{
	if ($cat == 'Khawater5')
	{
		if ($scat == 'GM')
		{
			$this_page = 'Mariyat/details3';
			$titre = $default_title. ' - GM';
		}
		else
		{
		$this_page = 'Mariyat/details2';
		$titre = $default_title. ' - KH';
			
		}
	}
}
	else
	{
			$this_page = 'Mariyat/details';
		$titre = $default_title. ' - BM';
	}

ViPHP
ViPHP | 5462 Messages

16 juin 2010, 20:23

Ca me donne toujours le meme resultat, mais par contre si je le met tout seul ca marche, si je le precede par d'autres Rewrite ca marche pas:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(\w+)\.html$ index.php?rub=$1 [L]
RewriteRule ^(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2 [L]
RewriteRule ^(\w+)-(\w+)-([\w\._-]+)\.html$ index.php?rub=$1&srub=$2&barnamaj_en=$3 [L]
RewriteRule ^([^-]+)(?:-([^-]+))?(?:-([^-]+))?(?:-([^-]+))?\.html$ index.php?rub=$1&srub=$2&cat=$3&scat=$4 [L]

c'est normal t'as besoin uniquement de la dernière ligne, pourquoi t'as gardé les autres RewriteRule ?

Eléphant du PHP | 214 Messages

16 juin 2010, 20:49

Si je les supprime et j'ai un lien du type:
rub-srub.html ca marche pas :(

ViPHP
ViPHP | 5462 Messages

16 juin 2010, 20:55

Si je les supprime et j'ai un lien du type:
rub-srub.html ca marche pas :(
ca te donne quoi au niveau du print_r($_GET) ? chez moi ca marche très bien
<a href="sport-foot-club-joueur.html">test 4</a>
<a href="sport-foot-club.html">test 3</a>
<a href="sport-foot.html">test 2</a>
<a href="sport.html">test 1</a>
<pre>
<?php
	print_r($_GET);

Eléphant du PHP | 214 Messages

16 juin 2010, 22:45

J'ai teste en gardant toutes les lignes du htaccess, mais si je les supprime le test 4 marche bien, par contre les autres me donne une page 404 du serveur XAMPP
<a href="sport-foot-club-joueur.html">test 4</a>
Ca donne le resultat du lien test 2
Array ( [rub] => sport [srub] => foot [barnamaj_en] => club-joueur )
<a href="sport-foot-club.html">test 3</a>
Ca marche bien
Array ( [rub] => sport [srub] => foot [barnamaj_en] => club )
<a href="sport-foot.html">test 2</a>
Ca marche bien
Array ( [rub] => sport [srub] => foot )
<a href="sport.html">test 1</a>
Ca marche bien
Array ( [rub] => sport)

ViPHP
ViPHP | 5462 Messages

16 juin 2010, 22:49

montre ton htaccess

Eléphant du PHP | 214 Messages

17 juin 2010, 00:08

sans tenir compte des variables, je les change avec des exemples:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(\w+)\.html$ index.php?rub=$1 [L]
RewriteRule ^(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2 [L]
RewriteRule ^(\w+)-(\w+)-([\w\._-]+)\.html$ index.php?rub=$1&srub=$2&barnamaj_en=$3 [L]
RewriteRule ^([^-]+)(?:-([^-]+))?(?:-([^-]+))?(?:-([^-]+))?\.html$  index.php?rub=$1&srub=$2&barnamaj_en=$3&episode_en=$4 [L]

ViPHP
ViPHP | 5462 Messages

17 juin 2010, 00:12

depuis le début je te dis d'enlever les lignes, tant que tu les enlèvera pas ca marchera pas... :wink:

Eléphant du PHP | 214 Messages

17 juin 2010, 11:59

depuis le début je te dis d'enlever les lignes, tant que tu les enlèvera pas ca marchera pas... :wink:
J'ai teste en gardant toutes les lignes du htaccess, mais si je les supprime le test 4 marche bien, par contre les autres me donne une page 404 du serveur XAMPP

ViPHP
ViPHP | 5462 Messages

17 juin 2010, 13:16

ton fichier dois etre comme ca
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([^-]+)(?:-([^-]+))?(?:-([^-]+))?(?:-([^-]+))?\.html$  index.php?rub=$1&srub=$2&barnamaj_en=$3&episode_en=$4 [L]

Eléphant du PHP | 214 Messages

17 juin 2010, 14:09

Merci ca marche, mais ca reste toujours complique a comprendre

Eléphant du PHP | 214 Messages

17 juin 2010, 23:51

C'est quoi la meilleur methode de separation est ce que (-) ou bien les (/)??

ViPHP
ViPHP | 5462 Messages

18 juin 2010, 02:45

C'est quoi la meilleur methode de separation est ce que (-) ou bien les (/)??
je dirais - dans le sens ou les / peuvent posé au problème au niveau du path (appelle relatif d'un css par exemple)

Eléphant du PHP | 214 Messages

18 juin 2010, 13:04

C'est quoi la meilleur methode de separation est ce que (-) ou bien les (/)??
je dirais - dans le sens ou les / peuvent posé au problème au niveau du path (appelle relatif d'un css par exemple)
Donc vaut mieux utiliser les (-) au lieux des (/)

Eléphant du PHP | 214 Messages

19 juin 2010, 19:36

Et si je veux l'utliser ligne par ligne, puisque je suis debutant, je voudrais aller pas a pas:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(\w+)\.html$ index.php?rub=$1 [L]
RewriteRule ^(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2 [L]
Ainsi qu'un 3eme parametre, 4eme, 5eme,...