Bonsoir à tous,

Alors je viens vers vous car j'ai un soucis lors de la réalisation de mon site. Smiley ohwell
Je bossais avant avec un développeur en freelance et il avait une méthode travail bien à lui.
Il faisait passer toutes les pages par le fichier index.php du site comme ci dessous :

// Liste des pages autorisées par URL
$allowed_pages = array(
'services',
'notre-histoire',
'services',
'partenaires',
'presse',
'recrutement',
'erreur-404',
'newsletter',
'agences',
'devis',
'sinistre',
'contact',
'telechargements',
'aide-faq',
'conditions',
'mentions-legales'
);

// On inclut la bonne page si elle existe
if(isset($_GET['page'])) {
	$requested_page = trim(strtolower($_GET['page']));
	if(is_file(PAGES.$requested_page.'.php') && (in_array($requested_page, $allowed_pages))) {
		require_once(PAGES.$requested_page.'.php');
	} else {
		header('Location: /erreur-404/') or exit();
	}
} else {
	require_once(PAGES.'accueil.php');
}


Donc les pages passent par l'index et dans le htaccess il écrivait ceci :

RewriteRule ^([a-zA-Z0-9\-]+)/$ index.php?page=$1 [L,QSA]


Donc jusque la je comprends le schéma et les URL se transforment pour obtenir :
www.nomdusite.com/lapage/

Oui mais voila j'aimerais réécrire des pages pour obtenir des URL comme ça : www.nomdusite.com/offres/lapage/

Donc mon premier réflexe aura été de rajouter dans le htaccess :

RewriteRule ^offres/([a-zA-Z0-9\-]+)/$ index.php?page=presse [L,QSA]


Donc la page est accessible en faisant www.nomdusite.com/offres/presse/ mais le soucis c'est que www.nomdusite.com/presse/ subsiste alors que j'aimerais justement que les pages soient accessibles uniquement par l'url réécrite.

Alors est ce qu'il faut modifier le code en php de l'index ? ou rajouter une page offres par exemple en autorisant les autres pages ? Je dois dire que je suis totalement nul en dév et que c'est absolument pas ma fonction donc si vous pouviez m'aider j'en serais vraiment très reconnaissant Smiley biggrin

Merci de votre aide Smiley lol
Bonjour,

Quand tu utilises la redirection par htaccess et qu'il faut modifier une redirection, il faut le modifier à deux endroits.
- Dans le htaccess (ça, tu l'as fait)
- Dans les pages ou il y a les liens de redirection. Dans ton cas dans ton fichier index

il suffit juste de modifier, dans ton fichier index, la ligne ci-dessous
require_once(PAGES.$requested_page.'.php');

et rajouter ta modification :
require_once("offres/".PAGES.$requested_page.'.php');


Je pense que c'est ça qu'il faut faire. je n'en suis pas sûr car je ne sais pas ce que signifie "PAGES" dans ton code.
Bonjour,

Merci pour ta réponse Smiley smile mais ça ne marche pas mais j'ai néanmoins eu l'idée de faire un deuxième GET ainsi qu'un deuxième tableau avec mes pages pour les offres.

Ce qui me donne ça au niveau de l'index :

$allowed_pages = array(
'services',
'notre-histoire',
'services',
'partenaires',
'presse',
'recrutement',
'erreur-404',
'newsletter',
'agences',
'devis',
'sinistre',
'contact',
'telechargements',
'aide-faq',
'conditions',
'mentions-legales'
);

$allowed_pages2 = array(
'disco-discotheque',
);

// On inclut la bonne page si elle existe
if(isset($_GET['offres'])) {
	$requested_page2 = trim(strtolower($_GET['offres']));
	if(is_file(PAGES.$requested_page2.'.php') && (in_array($requested_page2, $allowed_pages2))) {
		require_once(PAGES.$requested_page2.'.php');
	} else {
		header('Location: /erreur-404/') or exit();
	}
} else {
	require_once(PAGES.'accueil.php');
}

// On inclut la bonne page si elle existe
if(isset($_GET['page'])) {
	$requested_page = trim(strtolower($_GET['page']));
	if(is_file(PAGES.$requested_page.'.php') && (in_array($requested_page, $allowed_pages))) {
		require_once(PAGES.$requested_page.'.php');
	} else {
		header('Location: /erreur-404/') or exit();
	}
} else {
	require_once(PAGES.'accueil.php');
}


Et j'ai modifié le htaccess :

RewriteRule ^offres/([a-zA-Z0-9\-]+)/$ index.php?offres=$1 [L,QSA]


Et donc le lien suivant fonctionne :
www.nomdedomaine.com/offres/disco-discotheque/

Tandis que celui ci ne fonctionne pas :
www.nomdedomaine.com/disco-discotheque/

Donc mon problème est que partiellement résolu puisqu'en fait sur la page il charge la page d'accueil et la page disco-discotheque ce qui est problématique parce que je me retrouve avec deux pages sur une seule. Donc en supprimant le GET 'page' et bien ça marche sans problème et je n'ai que disco-discotheque qui est chargé.

Le soucis ce situe au niveau du code php avec les GET mais je sais pas comment faire pour rédiger ça !
Je suis content que tu ai résolu ton problème en parti.
Je n'ai jamais utilisé cette technique car elle cause vraiment beaucoup de soucis.

Je vais voir si je peux t'aider un peu pour régler le soucis, mais ce ne sera pas pour aujourd'hui.