2009-07-27 2 views
0

Voici mon .htaccess maintenantURL .htaccess rediriger vers un autre dossier basé sur la première partie de la requête

rewriteengine on 
rewritecond %{HTTP_HOST} ^www.example.com$ [OR] 
rewritecond %{HTTP_HOST} ^example.com$ 
rewriterule ^index.php/? "http\:\/\/example\.com\/" [R=301,L] #4a397bb852bc9 

qui envoie toutes les demandes à partir du répertoire racine à index.php Ce que je dois faire est d'envoyer tous demandes de www.example.com/site2/ à www.example.com/site2/index.php~~V~~plural~~3rd

Ma compréhension de regex a toujours arrêté à court de ces règles curieuses et condes

Merci, Joe

Répondre

0

La règle que vous avez appelée redirige toute requête, son chemin d'accès commence par index.php suivi d'une barre oblique facultative et son nom d'hôte est www.example.com ou example.com, avec le code d'état 301 à http://example.com/.

Mais si vous voulez réécrire les demandes d'un répertoire à un autre, essayez cette règle:

RewriteRule ^folder-1/?([^/].*)?$ folder-2/$1 [L] 

Modifier En réponse à votre commentaire:

RewriteCond $0 !=site2/index.php 
RewriteRule ^site2/.* site/index.php [L] 
+0

AH. Comme vous l'avez peut-être deviné, je n'ai pas créé ce fichier .htaccess. J'essaye simplement de l'éditer afin que je puisse essayer d'employer l'URL-rerouting dans un sous-dossier d'un serveur. –

+0

Je ne suis pas sûr si ce que j'essaie de faire est de réécrire une demande d'un répertoire à l'autre. Je veux que toutes les demandes en dehors de/site2/restent en dehors de celle-ci, mais toutes les demandes dans/site2/pour pointer vers /site2/index.php –