Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2011, 00h10   #1
Invité régulier
 
Homme Laurent
Développeur Web
Inscription : septembre 2010
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Laurent
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Web
Secteur : Boutique - Magasin

Informations forums :
Inscription : septembre 2010
Messages : 34
Points : 5
Points : 5
Par défaut url rewritting vers sous répertoire

Bonjour,

Je développe un site que j'ai architecturé en plusieurs répertoire, comme un framework (model, controller, public).

Je souhaiterais que, en me connectant à mon site www.truc.com, toute requête soit automatiquement redirigé vers le sous-répertoire public, ce autant par commodité que par sécurité (que personne n'ait accès aux vrais fichiers PHP).

J'ai réussi à rewrité les fichiers html afin qu'elles aboutissent à mon index.php :
Code :
RewriteRule ([a-zA-Z]+)\.html$ /public/index.php?page=$1
Du coup si j'accède à www.truc.com/index.html ça marche mais je suis obligé le nom de la page
J'ai regardé des tutos et ai fais des essais (que je vous épargne ici, mais du genre
Code :
RewriteRule ([a-zA-Z]*)\.html$ /public/$1
et des commandes de rewrite permanent) mais à chaque fois ça finit en boucle de redirection (ça essaie d'ouvirr www.truc.com/public/public/public....)

Y'a-t-il une solution simple, où dois-je faire une règle pour chaque type de fichiers ?
rolintoucour est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 20h24   #2
Membre à l'essai
 
Inscription : octobre 2006
Messages : 102
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 102
Points : 24
Points : 24
Salut,

C'est pas le bon forum le plus approprié aurait été apache , je vais te répondre quand même.

Dans ta règle tu indique au serveur de renvoyer toutes les requêtes avec une chaine de caractères ainsi qu'une extension forcément si tu indique rien elle ne fonctionne plus, essaye ça:
Code :
1
2
3
4
5
6
7
8
9
 
 
#active le rewrite
RewriteEngine on
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
RewriteRule ^((?!(/admin))).*$ /public/index.php?page=$1 [NC,L]
Le admin est optionnelle si t'as un backoffice externe.
aimad41 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h46.


 
 
 
 
Partenaires

Hébergement Web