Apache mod_rewrite et l'utilisation des annuaires RewriteRule

  • samir22
  • Born
  • Born
  • No Avatar
  • Inscription: Sep 10, 2010
  • Messages: 2
  • Status: Offline

Message Septembre 10th, 2010, 3:32 pm

Salut,
J'ai une question.
Im utilisant le cadre Yu, et Im essayant de comprendre comment mettre en place deux applications en un seul projet.
Jusqu'ici tout va bien, sur le côté du code, je crois que j'ai réussi à le travailler.
Cependant, mon manque de connaissances solides sur mod_rewrite prend son péage, et id voudrais savoir si quelqu'un peut m'aider, il ne devrait pas être très difficile pour les gourous Apache là-bas.

Heres mon. Htaccess à ce jour:

Code: [ Select ]
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php
  1. Options +FollowSymLinks
  2. IndexIgnore */*
  3. RewriteEngine on
  4. # if a directory or a file exists, use it directly
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. # otherwise forward it to index.php
  8. RewriteRule . index.php


Or, ce parcours toutes les demandes à l'index principal. fichier php qui determins quoi faire ensuite.
Qu'est-id voudrais savoir, c'est quelle règle je dois mettre en place de sorte que lorsque / admin se trouve dans l'url,
pour rediriger vers index-admin.php au lieu de index.php

Donc, fondamentalement, si l'URL est comme: / admin ou / admin / quelque chose .*, au point d'indice-admin.php, d'autre point de index.php, comme maintenant.

si quelqu'un peut aider id être reconnaissants.
Merci
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Septembre 10th, 2010, 3:32 pm

  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8922
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Septembre 13th, 2010, 12:16 pm

Au-dessus de votre:

Code: [ Select ]
RewriteRule . index.php


Il suffit de mettre quelques règles en ce que vous voulez. Cette règle que vous avez là la seule période est fondamentalement comme un fourre-tout qui dit réécrire une URL à index.php. Toutefois, pour ceux ci-dessus que vous pouvez utiliser quelque chose de plus précis et utilisez quelque chose comme:

Code: [ Select ]
RewriteRule ^admin/.* index-admin.php [L,NC]


Ce serait dire que rien dans le répertoire admin réécrire à l'index-admin.php. Dans la dernière partie, là où il est dit [L, NC] L signifie fondamentalement il s'agit de la réécriture, enfin, ne pas aller plus loin, s'arrêter là, et le NC signifie ignorer la casse. Donc à la fin que vous auriez quelque chose comme ceci:

Code: [ Select ]
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# additional rules
RewriteRule ^admin/.* index-admin.php [L,NC]

# otherwise if nothing matches above forward it to index.php
RewriteRule . index.php
  1. Options +FollowSymLinks
  2. IndexIgnore */*
  3. RewriteEngine on
  4. # if a directory or a file exists, use it directly
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. # additional rules
  8. RewriteRule ^admin/.* index-admin.php [L,NC]
  9. # otherwise if nothing matches above forward it to index.php
  10. RewriteRule . index.php
Ozzu Hosting - Want your website on a fast server like Ozzu?
  • samir22
  • Born
  • Born
  • No Avatar
  • Inscription: Sep 10, 2010
  • Messages: 2
  • Status: Offline

Message Septembre 14th, 2010, 12:23 am

Salut.
Merci pour la réponse.
Le problème est que j'ai essayé votre code et ça ne marchera pas.
Heres ma structure de répertoire

test
. Htaccess
index.php
index-admin.php

J'ai un hôte virtuel pour: test.localhost, avec de permettre la priorité sur tous

J'ai essayé le code, quand je tape dans test.localhost / admin, toujours le index.php est retourné
  • Bigwebmaster
  • Site Admin
  • Site Admin
  • Avatar de l’utilisateur
  • Inscription: Déc 20, 2002
  • Messages: 8922
  • Loc: Seattle, WA & Phoenix, AZ
  • Status: Offline

Message Septembre 27th, 2010, 11:40 am

La façon dont j'ai écrit le code ci-dessus, votre lien devrait avoir la barre oblique inverse définitive à son sujet et tout ce qu'il pourrait fonctionner. Si vous avez tapé juste comme:

test.localhost / admin

qui ne correspondent pas. Si vous avez tapé l'un de ces:

test.localhost / admin /
test.localhost / admin / somepage.php

Que devrions tous travailler. Si vous voulez le faire fonctionner sans la finale / , Vous devrez enlever cela de la RewriteRule.
Ozzu Hosting - Want your website on a fast server like Ozzu?

Afficher de l'information

  • Total des messages de ce sujet: 4 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 106 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC