IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Utilisation d'une redirection .htaccess via un Apache sur le réseau


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut Utilisation d'une redirection .htaccess via un Apache sur le réseau
    Bonjour à tous,
    depuis hier, je bloque sur un problème de redirection via htaccess,
    voici le problème :

    Je développe un site accessible sur une machine en local (ex : http://192.168.0.10/site/nom_du_site/), apache etant installé aussi sur cette machine (module activé)

    afin de mettre en place des redirections, j'ai crée un fichier htaccess, mais n'y connaissant pas grand chose, j'ai voulu faire un test très simple, rediriger

    http://192.168.0.10/site/nom_du_site...php?num_page=2
    vers
    http://192.168.0.10/site/nom_du_site/vente-2.htm

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine On
    RewriteRule ^vente-([0-9]+)\.htm$ page.php?num_page=$1 [L,QSA]
    Le problème est que cette redirection fonctionne si le test est effectué sur ma machine avec wamp (en http://localhost/test/vente-2.htm s'affiche correctement)

    par contre, lorsque je fait le test sur la machine a distance, j'ai une erreur 404, j'ai essayer de mettre un "RewriteBase/", mais cela ne fonctionne pas non plus et je ne vois vraiment pas pourquoi cela ne fonctionne pas.

    J'espère que quelqu'un pourra m'aider.
    merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ajoute
    en haut du .htaccess, pour voir

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut
    merci pour ta réponse Mac,
    malheureusement cela ne résous pas le problème et la redirection ne se fait pas (erreur 404)

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Essaie en mettant ce Options -MultiViews dans le .htaccess à la racine du site.

    Dans quel répertoire se trouve le .htaccess en question ? Quelle est l'URL utilisée pour tes tests et y a-t-il d'autres .htaccess dans les répertoires parents et si oui, quels sont-ils ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut
    mon site est dans un répertoire sur le serveur (www/serveur/site/test/)
    serveur/site contient l'ensemble de mes sites.

    le fichier htaccess se trouve a la racine de test, dans ce dossier, je n'ai que 3 fichiers pour mon test, le htaccess, index.php et page.php

    j'ai rajouté l'option dans le fichier se trouvant dans le répertoire "test".

    lorsque j'accède a mes pages, je tape dans la barre d'adresse :
    http://192.168.0.10/site/nom_du_site/fichier.php par exemple

    d'autre fichier htaccess sont présent, mais il se trouve à la racine du répertoire du site concerné.

    j'espère avoir répondu a ta question,
    merci de ton aide

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Etrange...

    Quand je parlais de "racine du site", je voulais dire la racine du document root, www/serveur.

    Si je compare les URL entre les deux serveurs, sur ton PC, quand ça marche, tu utilises http://localhost/test/vente-2.htm alors qu'à distance, quand ça ne marche pas, tu utilises http://192.168.0.10/site/test/vente-2.htm, c'est bien ça ?

    As-tu vérifié ou sais-tu si mod_rewrite est activé sur le serveur 192.168.0.10 ? Sais-tu également si les .htaccess sont pris en compte sur le serveur (en gros, est-ce que les autres .htaccess présents sont pris en compte) ?

    Regarde dans les logs d'erreur d'Apache sur le serveur 192.168.0.10, tu devrais avoir une trace qui explique quel fichier (local) n'a pas été trouvé et déclenche donc l'erreur 404.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut
    je viens de tester en mettant le htaccess test dans le répertoire
    www/
    www/serveur/
    www/serveur/site

    et cela n'a pas résolu le problème.

    Citation Envoyé par _Mac_
    Si je compare les URL entre les deux serveurs, sur ton PC, quand ça marche, tu utilises http://localhost/test/vente-2.htm alors qu'à distance, quand ça ne marche pas, tu utilises http://192.168.0.10/site/test/vente-2.htm, c'est bien ça ?
    => oui c'est ca

    oui le module est bien activé pourtant sur le serveur, c'est ca qui est étrange
    les autres htaccess ne fonctionnent pas non plus via le serveur sur les autres sites (cela fonctionne pourtant bien lorsqu'ils sont mis en ligne ou que j'essai sur ma machine avec wamp)

    le log error mets :
    File does not exist: C:/www/serveur/site/test/vente-3.htm, referer: http://192.168.0.3/site/test/index.php
    mon dossier serveur se nomme "serveur-domaine" et mon dossier test "test-htaccess", cela peut il venir de cela ?
    mais sur mon pc, le dossier est dasn www/test-htaccess/ et cela ne pose pas de problème

    merci,

  8. #8
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par luffyfr Voir le message
    je viens de tester en mettant le htaccess test dans le répertoire
    www/
    www/serveur/
    www/serveur/site
    Je parlais du .htaccess dans lequel mettre Options -MultiViews : essayer en mettant cette ligne (et uniquement cette ligne) dans le .htaccess de www, etc. La règle de réécriture reste dans le .htaccess de www/serveur/site.

    Citation Envoyé par luffyfr Voir le message
    les autres htaccess ne fonctionnent pas non plus via le serveur sur les autres sites (cela fonctionne pourtant bien lorsqu'ils sont mis en ligne ou que j'essai sur ma machine avec wamp)
    Dans la conf principale d'Apache (httpd.conf), que valent les différentes directives AllowOverride que tu vois (en précisant le bloc <Directory> ou <Location> dans lequel elles se trouvent) ? Pour pouvoir utiliser les .htaccess et y mettre des RewriteXxx, il faut que le AllowOverride qui s'applique sur le répertoire du document root soit à All :

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 99
    Points : 45
    Points
    45
    Par défaut
    Merci INFINIMENT MAC, cela fonctionne enfin,

    Le problème venait du Allowoverride dans le httpd.conf qui était sur NONE, en le modifiant en ALL, cela fonctionne.

    merci encore a toi pour ta patience et pour avoir répondu et surtout résolu !

    Un ami a un autre petit problème mais j'ouvre un autre sujet pour son problème,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation d'une fonction php via JavaScript
    Par Tablen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/05/2013, 23h25
  2. Réponses: 0
    Dernier message: 14/02/2013, 03h45
  3. Problème sur une redirection .htaccess
    Par omelhor dans le forum Apache
    Réponses: 1
    Dernier message: 30/10/2011, 10h30
  4. Réponses: 2
    Dernier message: 19/06/2008, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo