Question

Je me demande Que c'est possible d'utiliser .htaccess de réécrire un nom de dossier. Ce que je veux dire est ceci.

Disons que j'ai une URL comme:

www.site.com/folder1/page.php

Maintenant, je veux réécrire l'URL (par exemple)

www.site.com/apple/page.php

Le folder1 est un dossier existant sur mon espace web.

important: la "pomme" est pas un dossier plutôt qu'un nom

est Ok ici un plan étape par étape:

  1. Types d'utilisateur www.site.com/folder1/login.php
  2. L'URL doit réécrire et non rediriger l'URL vers www.site.com/apple/login.php

Cela signifie que apple est juste un nom et non un répertoire. Tout le code devrait tout juste de folder1. Acutally pomme doit être juste un alias pour folder1. Je ne peux pas renommer folder1 à Apple. Je voudrais juste à cet effet réécrire folder1 à apple.

Était-ce utile?

La solution

mod_rewrite ne peut réécrire / redirect demandé URIs. Donc, vous devez demander /apple/… pour l'obtenir réécrite à un /folder1/… correspondant.

Essayez ceci:

RewriteEngine on
RewriteRule ^apple/(.*) folder1/$1

Cette règle réécrira toute demande qui commence par le chemin URI /apple/… interne /folder1/….


Modifier Comme vous cherchez réellement pour l'inverse:

RewriteCond %{THE_REQUEST} ^GET\ /folder1/
RewriteRule ^folder1/(.*) /apple/$1 [L,R=301]

Cette règle est conçue pour fonctionner avec l'autre règle ci-dessus. Les demandes de /folder1/… seront redirigés vers l'extérieur /apple/… et demandes de /apple/… seront ensuite réécrites en interne retour à /folder1/….

Autres conseils

essayer:

RewriteRule ^/apple(.*)?$ /folder1$1 [NC]

Si le dossier que vous souhaitez apparaître dans l'URL est dans la première partie de la déclaration - c'est ce qu'il correspondra à contre et la deuxième partie « réécritures » à votre dossier existant. le drapeau [NC] signifie qu'il ne tient pas compte des différences de cas par exemple Apple / sera toujours en avant.

Voir ici pour un tutoriel: http://www.sitepoint.com/ article / url guide réécriture /

Il y a aussi un utilitaire de test agréable pour windows, vous pouvez télécharger ici: http://www.helicontech.com/download/rxtest.zip Juste à noter pour le testeur, vous devez laisser le nom de domaine - de sorte que le test serait contre /folder1/login.php

pour rediriger de / folder1 à / Apple essayez ceci:

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

pour rediriger puis réécrire simplement combiner ci-dessus dans le fichier htaccess:

RewriteRule ^/folder1(.*)?$ /apple$1 [R]
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top