8
votes

Htaccess RewriteRule Redirection vers le répertoire parent?

Je ne peux pas comprendre comment rediriger vers le répertoire parent dans ce cas: J'ai un répertoire racine avec un fichier .htaccess, où RewriteEngine est sur. Dans ce répertoire, j'ai un fichier rootfile.php. De plus, dans cet annuaire, j'ai un répertoire "forum", avec un autre fichier .htaccess.

Quand il y a une demande à "forum.mysite.com/rootfile.php", j'ai besoin de rediriger-le à "MySite. com / rootfile.php "ce qui signifie que je dois rediriger la demande au répertoire parent.

/forum/.htaccess: xxx

J'ai essayé de: xxx

a également essayé celui-ci: xxx

et il redirige toujours de / forum / rootfileName à / forum / rootfileName, Mais jamais /rootfile.


est mon erreur?

0 commentaires

3 Réponses :


0
votes

Vous avez écrit:

Quand il y a une demande à "forum.mysite.com/rootfile.php", j'ai besoin de Rediriger-le à "mysite.com/rootfile.php", ce qui signifie que j'ai besoin de Rediriger la demande au répertoire parent. P> blockQuote>

Voulez-vous dire: p>

Quand il est demandé à "mysite.com/forum/rootfile.php" code> strong>, i besoin de rediriger à "mysite.com/rootfile.php" code> strong> ce qui signifie que j'ai besoin de Rediriger la demande au répertoire parent. p>

... qui signifie à son tour: p>

Quand il est demandé à "/ forum / rootfile.php" code> strong>, j'ai besoin de rediriger-le à "/ rootfile.php" code> strong> ce qui signifie que j'ai besoin de Rediriger la demande au répertoire parent. p>

dans votre .htaccess code> dans le / forum code> stry> DIR Essayez ceci: P >

RewriteEngine On
RewriteRule ^rootFileName(.*) /rootFile.php  [QSA,R=301,L]


0 commentaires

7
votes

Vous ne pouvez pas réécrire à l'extérieur de la racine de document. C'est une chose de sécurité.

Vous pouvez simplement créer un rootfile.php qui ne contient que


0 commentaires

6
votes

Vous ne pouvez pas réécrire aux chemins qui sont en dehors de la racine de votre document pour des raisons de sécurité. En fait, cela devrait être évité car ce n'est pas une bonne pratique.

Quoi qu'il en soit, pour répondre à votre question, une solution de contournement pourrait créer un lien symbolique dans votre racine de document qui pointe vers le répertoire cible / parent, mais vous devez le protéger de Accès direct.

laissez-moi faire un exemple. Supposons que notre racine de document est / var / www / projet1 et que vous souhaitez réécrire sur /var/projeject2/target.php

Ensuite, vous devez créer un lien symbolique à l'intérieur / var / www / projet1 qui pointe vers / var / www / projet2 nommé (par exemple) p2 .

Ceci devrait être votre /var/project1/.htaccess fichier: xxx


0 commentaires