URL Rewriting

Ce topic a été résolu
Ephtos

Ephtos Le 4 avril 2016 à 13:00 (Édité le 25 janvier 2019 à 17:50)

Bonjour ! Me renseignant sur l'url rewriting je me suis dis, mais c'est bien cool ça ! 
du coup bah j'ai voulu essayer ! Petit soucis ...

Quand j'essaie : 
RewriteEngine on
RewriteRule ([a-z]) index.php?page=$1
La règle à l'air de bien se faire puisque mon CSS saute car j'ai mis un lien relatif CSS pour essayer ceci. Mais mon lien au final est : index.php?page=accueil

Donc est-ce que le fait d'avoir ce code sur mon index ne permet pas cette action ou je m'y prend mal ? :
<?php
session_start();
    //Tableau des pages autorisées à l'include
    $pagesOK['accueil'] = 'page/accueil.php';
    $pagesOK['forum'] = 'page/forum.php';
    $pagesOK['vote'] = 'page/vote.php';

$page = 'accueil';
    //Si le $_GET['page'] est dans les keys du tableau $pagesOK
    if(!empty($_GET['page'])
    && array_key_exists($_GET['page'], $pagesOK))
    {
        //Remplace la valeur par defaut par celle de l'URL
        $page = $_GET['page'];
        $page_en_cours = $_GET['page'];
    }
?>
Merci pour votre patience ^^, bonne journée 😀
PrimFX

PrimFX Le 4 avril 2016 à 20:37

Salut !
Le problème peut venir de différentes choses... Du coup, avant te pouvoir te répondre, il va falloir que tu nous donne quelques informations supplémentaires: 😋
  • Développes-tu en local ? Si oui avec quoi, Wamp ?
  • Excepté le CSS qui ne se load pas, le reste de la page s'affiche correctement (du moins le contenu HTML) ?
  • Si une erreur quelconque s'affiche, peux-tu nous envoyer un screen de celle-ci ?
Merci 😀
Ephtos

Ephtos Le 4 avril 2016 à 22:02

Yop ! Donc oui je developpe pour le moment en local avec wamp et le module "rewrite_module" est actif, ensuite oui tout s'affiche correctement juste sans CSS, aucunes erreurs en vue
PrimFX

PrimFX Le 5 avril 2016 à 00:51

D'accord, du coup ça me rassure, c'est plutôt bon signe 😀

Lorsque tu ouvres ta page, peux-tu me faire un screenshot de ce que t'affiche la console ? (CTRL + MAJ + J sur Chrome)
Et peux tu m'indiquer (ou faire un screenshot aussi, au choix 😋) la structure de tes fichiers ?
Par exemple:
  • monsite/ = racine
  • monsite/css/ = fichiers CSS
  • monsite/js/ = fichiers JS
  • etc.
Je pense que le problème vient du chemin vers lequel pointe la requête de ton CSS dans ton code ! Je pense que ça peut être résolu en utilisant la balise "base" mais je te laisse me donner les infos que je t'ai demandé et je tenterai de te trouver une solution 😉
Ephtos

Ephtos Le 5 avril 2016 à 01:45 (Édité le 5 avril 2016 à 01:53)

Je te fais ça mais en faite .. même en relatif ça ne fonctionne pas, sinon ma structure c'est monsite/css, monsite/js, monsite/index.php 
Ensuite mon soucis etait plus dans le lien , je voulais qu'il soit par exemple www.monsite.fr/accueil  pour au lieu de www.monsite.fr/index.php?page=accueil , et voilà le screen 😋 merci de l'aide ^^ :  (d'ailleur il me fou plus la page accueil .. mais du 404 fin bref :/)
Nobodief

Nobodief Le 11 avril 2016 à 19:39 (Édité le 11 avril 2016 à 19:54)

Te prend pas la tête cherche tes chemins depuis ton url http: http://localhost/dossier/

Ensuite le problème c'est que tu ne spécifie pas de format de fichier pour la transformation et en plus tu ne transmet pas les redirections des paramètres URL (Après le ? de page.php?=blabla) avec la syntax [QSA].

Ensuite la Syntax [L] permet d'arrêter les règles de redirection si celle actuelle est valide.
RewriteRule ([a-z])\.php?$ index.php?page=$1 [QSA,L]
Ephtos

Ephtos Le 30 avril 2016 à 12:23

Je n'ai pas tout compris le coup du QSA mais effectivement mon soucis était dans ma règle, j'ai donc fait 
RewriteEngine on
RewriteRule ^([a-z]+)$ index.php?page=$1 [L]
Donc caractère entre a et z, répété plus d'une fois, et tout fonctionne très bien, merci à vous.
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte