2012-03-05 7 views
0

Ce dont j'ai besoin, c'est de tout rediriger depuis un certain répertoire vers le fichier d'index du répertoire parent. L'URL dans le navigateur doit également changer, juste redurect directement. Comment puis-je faire cela? J'ai essayé des variations demod_rewrite - redirection simple vers le répertoire parent

RewriteRule ^(.*)/?$ ../ [R] 

mais il affiche une erreur et le chemin du système réel!

Répondre

3

le plus facilement accompli en utilisant un absolu URL http:

# We assume this is in .htaccess inside the directory to be redirected 
RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/parent 
RewriteRule ^(.*)?$ http://%{HTTP_HOST}/parent [R=301,QSA,L] 

Note, QSA a été ajouté pour préserver la chaîne de requête, mais qui peut être retiré si tu ne le veux pas.

+0

Merci, cela fonctionne un peu, bien que l'utilisation des URL absolues souffle. En outre, puisque le répertoire parent utilise également la réécriture d'URL et utilise RewriteRule^(. *) /? $ Index.php? Where = $ 1 [QSA, L], lorsque l'URL est redirigée par ce que vous avez écrit, elle est redirigée vers http : // host/parent /? where = enfant – DMIL

+0

@DMIL RewriteCond ajouté ci-dessus pour inhiber la boucle de réécriture. –

+0

Ne fonctionne pas avec RewriteCond, fonctionne sans ligne RewriteCond, bien que les URL absolues soient un gros problème. En outre, fonctionne différemment si la barre oblique finale de l'enfant est omise, puis il affiche la redirection de parent. ** Edit: En fait, il semble que la ligne RewriteCond n'a aucun effet. – DMIL

0

Vous pouvez utiliser RedirectMatch:

RedirectMatch 301 ^/child/?$ http://example.com/ 
+0

Où est-ce que je mettrais ceci? Dans le répertoire parent .htaccess? Où exactement, avant ou après les règles de réécriture pour le répertoire parent? En outre, cela ne fonctionne pas. L'URL vers laquelle il redirige est http: // nom_hôte/parent/enfant au lieu de http: // nom_hôte/parent – DMIL

+0

Il doit figurer dans le répertoire en cours. Peu importe où dans le fichier .htaccess c'est. –

Questions connexes