2010-10-08 10 views
0

Comment puis-je remplacer les URL d'une application Web dans un sous-dossier tel qu'il est installé à la racine..htaccess comment substituer les URLs

par exemple. besoin de carte example.com/index.php à example.com/new/index.php

Je ne veux pas réécrire la redirection mais URL pour le nom du dossier exempté. Aidez-moi à apprendre et à définir des règles.

Répondre

2

Vous pouvez utiliser la règle suivante pour réécrire toute demande qui est chemin d'URL (sans préfixe de chemin) ne démarre pas avec new/:

RewriteCond $1 !^new/ 
RewriteRule ^(.*)$ new/$1 

Cela fonctionnera également dans les fichiers .htaccess autres que dans le répertoire racine du document.

Mais comme vous voulez utiliser cette règle dans le fichier .htaccess dans le répertoire racine des documents, vous pouvez également utiliser REQUEST_URI:

RewriteRule !^new/ new%{REQUEST_URI} 
1

La première ligne correspond à toutes les demandes ne correspondant pas /new/... et le préfixe avec un nouveau avant il.

RewriteCond %{REQUEST_URI} !^/new/ 
RewriteRule ^(.*)$ new/$1 

Demande: http://example.com/index.php
Maps: [document root]/new/index.php