Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 23/11/2012, 00h04   #1
imudo
Invité de passage
 
Inscription : novembre 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 12
Points : 0
Points : 0
Par défaut Redirection page vers dossier

Bonjour à tous,

J'ai un petit problème avec la mise en place de redirections qui ne veulent pas fonctionner.

Habituellement, chez 1&1 je mettais en place dans mon htaccess des redirections types :

Code :
RewriteRule anciennePage.html http://www.site.com/nouvellePage.html  [R=301,L]
et ça marchait.

Là, je suis chez ovh, mais surtout je voudrais rediriger des pages vers des dossiers, je voudrais que :
www.site.com/anciennePage.html devienne www.site.com/dossier/

La formule en RewriteRule ne marche pas, et quand j'essaie ça :

Code :
Redirect permanent anciennePage.html http://www.site.com/dossier/
ça me ramène vers la page d'accueil.

J'ai un peu tout épluché, tout essayé, je patauge...

Est-ce que le fait de rediriger vers un dossier nécessite une autre syntaxe ? Un autre code ?

Je vous remercie d'avance de votre aide
imudo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2012, 22h07   #2
_Mac_
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 9 146
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 9 146
Points : 10 700
Points : 10 700
Citation:
Envoyé par imudo Voir le message
Là, je suis chez ovh, mais surtout je voudrais rediriger des pages vers des dossiers, je voudrais que :
www.site.com/anciennePage.html devienne www.site.com/dossier/

La formule en RewriteRule ne marche pas
C'est un peu court comme symptomatologie. Tu peux détailler plus le comportement observé ?
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2012, 12h08   #3
imudo
Invité de passage
 
Inscription : novembre 2010
Messages : 12
Détails du profil
Informations forums :
Inscription : novembre 2010
Messages : 12
Points : 0
Points : 0
Alors voici mon fichier htaccess de base :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
SetEnv PHP_VER 5_3
SetEnv REGISTER_GLOBALS 0

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

# URL Rewriting
Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^monsite\.com$
RewriteRule ^(.*)|$ http://www.monsite.com/$1 [R=301,L]
Car j'ai un install de Wordpress en parallèle.

En fait mon objectif de départ était de renvoyer une anciennepage.html vers www.sitewordpress.com/dossier/
Marchait pas, donc j'ai voulu faire plus simple et juste rediriger une page1.html vers une page2.html pour tester. Mais ça me renvoyait vers la Home.
Et même en vidant mon htaccess ligne par ligne (au cas où si conflit?) en laissant JUSTE ça, ça me renvoyait toujours vers la home :
Code :
RewriteRule /page1.html http://www.monsite/page2.html [R=301,L]
Je ne sais plus quoi faire: (

J'espère que je suis assez claire pour que l'on puisse m'aider
imudo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/11/2012, 21h51   #4
_Mac_
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 9 146
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 9 146
Points : 10 700
Points : 10 700
3 éléments pour t'en sortir :
  1. Il est indispensable de vider le cache du navigateur entre 2 tests lorsqu'on fait des redirections permanentes (301)
  2. Dans un .htaccess, le premier membre de RewriteRule ne peut pas commencer par un / car Apache, dans un .htaccess, élimine le premier / des URL à matcher. En clair, la redirection suivante devrait fonctionner :
    Code :
    RewriteRule page1.html http://www.monsite/page2.html [R=301,L]
  3. Apache exécute les règles dans l'ordre d'apparition du .htaccess. En parcourant dans l'ordre, dès qu'il trouve une règle qui matche, il l'exécute. Dans ton cas, la règle définie aux lignes 9 à 11 matche une URL /page1.html si aucun fichier page1.html n'existe à la racine du site. Et donc, Apache affiche la page d'accueil du site. En conclusion, place ta règle de redirection en premier.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h57.


 
 
 
 
Partenaires

Hébergement Web