2011-10-12 5 views
0

Je viens de modifier les régimes url, donc example.com/ugly est maintenant example.com/nice.htaccess - redirection 301 vers une nouvelle URL puis silencieusement rediriger cacher une url laide

example.com/ugly encore traite la demande - .htaccess a cette règle:

RewriteRule ^nice$ example.com/ugly [PT,L,QSA] 

Cela fonctionne beaucoup.

Maintenant, je voudrais rediriger example.com/ugly vers example.com/nice, mais toujours example.com/ugly gérer la demande. Quelque chose comme ceci:

  1. Redirect example.com/ugly à example.com/nice~~V~~singular~~3rd (301)
  2. redirect interne example.com/nice à example.com/ugly, sans laisser l'utilisateur de savoir, et sans répétition de l'étape 1

Des façons simples de procéder conduisent bien sûr à une boucle. Y a-t-il un moyen de le faire avec .htaccess? Sinon, y a-t-il un autre moyen?

Répondre

1

Le meilleur moyen que je connaisse est d'utiliser PHP dans le fichier cible. Voici à peu près ce que vous voulez ajouter:

if($_SERVER['REQUEST_URI'] == '/index.php') header("Location: http://".$_SERVER['HTTP_HOST']."/"); 

Il est évident que là pour gérer vous devez ajouter quelques autres variables quelles que soient les demandes, mais c'est l'idée de base.

Questions connexes