Bonjour,

N'ayant jamais fais de rewrite sur mon url avec htaccess, je me pose quelques questions qui j'espère pourront m'être expliquée.

J'ai un domaine http://www.monsite.com
Mon architecture de site se compose de deux dossier pour les langues avec le site dedans (/Fr/ et /En/)
Si je marque juste mon domaine, je me retrouve sans rien. Vu que je dois écrire http://www.monsite.com/Fr/index.php.

Donc cela serait, si c'est possible de redirigé http://www.monsite.com vers http://www.monsite.com/Fr/index.php par défault avec du rewrite.

Ou un autre maniere n'affiché que http://www.monsite.com/ même si je change de langue ou de page.
Exempl d'une url de mon site
http://www.site.com/Fr/index.php?page=accueil

Sachant que j'ai dans mon index.php


<?php

            // On définit le tableau contenant les pages autorisées
            // ----------------------------------------------------
            $pageOK = array('contact' => 'inc/contact.php', 
                          'index' => 'inc/index.php',
                          'Bop' => 'inc/Bop.php',
                          'Avis' => 'inc/Avis.php',
                          'produit' => 'inc/produit.php',
                          'projet' => 'inc/projet.php');
          // On teste que le paramètre d'url existe et qu'il est bien autorisé
          // -----------------------------------------------------------------
          if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) 
          {
            require($pageOK[$_GET['page']]);   // Nous appelons le contenu central de la page
          } else 
          {
            include_once('inc/accueil.php');   // Page par défaut quant elle n'existe pas dans le tableau
          }

        ?>

Cela vas t il me creer un problème si je n'ai que le domain ?
Voila toute explication, je suis preneur avant de me lancer dans les changements pour l'url
Juste une autre question, je suis obligé de marquer index.php en fin d'url normalement il le fais pas automatiquement ?

2 réponses


sty
Auteur

j'ai tester ceci

RewriteEngine on
Rewritecond %{HTTP_HOST} ^monsite.com
Rewritecond %{REQUEST_URI} !^/Fr/index.php
Rewriterule ^(.*)$ /Fr/index.php

et serveur en erreur.

sty
Auteur

re up pour éviter de refaire un topic,
donc voila j ai testé ceci

RewriteEngine on
RewriteBase /responsive/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) index.php?page=$1 [QSA,L]

cela fonctionne pour se que je désire ici localhost/responsive/index?page=produit fonctionne bien pour produit et me donne
localhost/responsive/produit.
Je me pose juste une question, ici j'ai accès aux deux url pour la même page.

  • Est-il possible de ne faire fonctionner que celle que je rewrite (localhost/responsive/produit).
    Ou c'est normal que je puisse avoir les deux url pour la même page ?

  • Au niveau de mon menu mes liens pointent vers la page avec index?page=, je dois changer les redirections de mes liens de mon menu en
    /produit.php

Moi , je pensais que cela se fesait automatiquement pour chaque lien des que le navigateur reperait index.php?page .

En gros un conseil de votre part serait le bien venu pour m'éclairer merci d'avance.