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 :

[URL Rewriting] Précision concernant l'obtention d'une erreur "internal server error"


Sujet :

Apache

  1. #1
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut [URL Rewriting] Précision concernant l'obtention d'une erreur "internal server error"
    Bon , je viens de me mettre a l'URL rewriting et j'ai un petit soucis :

    Quand j'accede a mon site j'ai cette erreur :

    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.
    Rassurez moi ça veut pas dire que mon hebergeur ne permet pas de le faire ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    L'origine d'une erreur 500 est difficile à déterminer sans les explications (cf le journal d'erreur, mais si tu n'y a pas accès ...) qui l'accompagne.

    Il est en effet possible que le module en question ne soit pas activé ou tout simplement qu'il y ait une faute de frappe dans tes règles par exemple.

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    bah les règles sont simples a vrai dire :


    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^(*)/ /index.php?rub=$1
    Je pense plutôt que le module n'est pas activé chez l'hebergeur je vais peut être devoir le contacter effectivement !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Il manque un petit quelque chose dans ta règle, avant le quantifieur (*) pour qu'elle soit correcte et ne déclenche pas une erreur 500 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)/ /index.php?rub=$1
    (gare à la gourmandise)

    A tester avant de déranger ton prestataire

  5. #5
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Yes , c'était ça lol A quoi sert le . avant le quantifieur exactement svp ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Le métacaractère point a pour signification "tout caractère" (ce qui incluera ton slash étant donné la nature gourmande, par défaut, des expressions régulières PCRE).

    Si ton chemin est a/b/c/ :
    avec (.*)/, $_GET['rub'] vaudra a/b/c (gourmande)
    avec ([^/]*)/ ou (.*?)/, $_GET['rub'] vaudra a (non gourmande)

    En fonction de ce que tu veux ...

  7. #7
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Ok , je vois a peu pres , donc ça marche mais pas moyend e naviguer je t'explique vite fais :

    Voici l'arborescence de mon petit essai :

    /
    -/Site
    -/Site/index.php
    -/Site/contacts.php


    donc quand on arrive sur www.adresse.com/site/

    on tombre sur index.php , la ça va

    Par contre si je mets :
    www.adresse.com/site/contacts/

    Je tombe sur une erreur 404 j'aimerais juste que ça me redirige sur :

    www.adresse.com/site/index.php?rub=contacts

    donc je te refile le .htacess associé a moin exemple pour mieux comprendre :

    RewriteEngine on
    RewriteRule ^site/(.*)/ /site/index.php?rub=$1 [L]
    ErrorDocument 404 /site/index.php
    Merci de ton aide !

    Edit : en faisant quelques tests il semblerait que la variable $_GET[rub] soit vide quand on reecrit l'URL ....
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  8. #8
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Où as-tu placé ton fichier .htaccess ? A la racine ou dans le répertoire site ? Dans le second cas, il faut supprimer site/ dans le chemin de la règle RewriteRule.

  9. #9
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Je l'ai placé dans site mais si j'enlève site dans la règle ça ne fonctionne pas bien mieux lol

    Avec le /site/ en debut ça fonctionne apparement sauf qu'il me reecri pas index.php?rub=cequejeveux puisque a chaques fois j ai testé le rub est vide !

    C'est quand meme etrange
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  10. #10
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    J'aurais donc dit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([^/]+)/$ index.php?rub=$1 [L]

  11. #11
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    ça se precise lol

    avec cette methode si je fais

    www.adresse.com/site/contacts

    ça marche pas

    sinon si je fais

    www.adresse.com/site/contacts/

    ça marche mais les URL sont bizare puisque il ne trouve plus le css ni les images .... je vais travailler ça !

    Merci pour l'aide
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par RideKick
    avec cette methode si je fais

    www.adresse.com/site/contacts

    ça marche pas
    Le slash final est obligatoire plus haut donc il faudrait revoir la règle, peut être en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([^/.]+)/?$ index.php?rub=$1 [L]
    Citation Envoyé par RideKick
    sinon si je fais

    www.adresse.com/site/contacts/

    ça marche mais les URL sont bizare puisque il ne trouve plus le css ni les images .... je vais travailler ça !
    Quels sont leur chemin complet ? Il peut être nécessaire de les exclure de la réécriture (à moins que le problème soit ailleurs).

  13. #13
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Dsl (J'ai fais une excursion a DisnayLandParis lol)

    Citation Envoyé par julp
    Quels sont leur chemin complet ? Il peut être nécessaire de les exclure de la réécriture (à moins que le problème soit ailleurs).
    J'ai mis les chemins en relatifs exemple

    src =" ./css/styles.css"
    Tu pense que c'est plus efficace en complet ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Ça marchait correctement avant de mettre en place la réécriture ? Quelles sont tes règles de réécriture actuelles finalement ? Est-ce que la CSS n'est pas prise dans des cas bien précis ou de manière constante ? Est-ce la seule à être concernée (images, javascript, ...) ?

    Les chemins relatifs ne jouent pas à ce niveau (tant qu'ils sont corrects) car le serveur ne reçoit bien évidemment que des URL absolues (c'est le client - navigateur - qui fait la transposition).

  15. #15
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par julp Voir le message
    Ça marchait correctement avant de mettre en place la réécriture ? Quelles sont tes règles de réécriture actuelles finalement ? Est-ce que la CSS n'est pas prise dans des cas bien précis ou de manière constante ? Est-ce la seule à être concernée (images, javascript, ...) ?

    Les chemins relatifs ne jouent pas à ce niveau (tant qu'ils sont corrects) car le serveur ne reçoit bien évidemment que des URL absolues (c'est le client - navigateur - qui fait la transposition).
    oui ça marchait !

    Finalement j'ai gardé

    RewriteRule ^([^/]+)/$ index.php?rub=$1 [L]
    C'est pas pris en compte de maniere constante , quand j'utilise la reecriture ni le css ni les images ni les javascript dans des fichiers externe ne fonctionnent !

    C'est assez etrange .
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  16. #16
    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 RideKick Voir le message
    src =" ./css/styles.css"
    A moins d'avoir mis un <base href="..."> dans tes en-têtes HTML, si tu mets ceci dans ta page HTML qui est logiquement accessible par l'URL http://www.adresse.com/site/contacts/, le navigateur va demander la CSS à l'URL http://www.adresse.com/site/contacts/css/styles.css : est-ce bien le bon fichier ?

    De même, si l'URL de ta page est http://www.adresse.com/site/contacts (cette fois-ci sans le / final), l'URL de la CSS sera l'URL http://www.adresse.com/site/css/styles.css : est-ce bien le bon fichier ?

    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

  17. #17
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    A moins d'avoir mis un <base href="..."> dans tes en-têtes HTML, si tu mets ceci dans ta page HTML qui est logiquement accessible par l'URL http://www.adresse.com/site/contacts/, le navigateur va demander la CSS à l'URL http://www.adresse.com/site/contacts/css/styles.css : est-ce bien le bon fichier ?
    Je n'utilise pas <base href="..."> donc pour http://www.adresse.com/site/contacts/css/styles.css ce n'est pas bon !

    Citation Envoyé par _Mac_ Voir le message
    De même, si l'URL de ta page est http://www.adresse.com/site/contacts (cette fois-ci sans le / final), l'URL de la CSS sera l'URL http://www.adresse.com/site/css/styles.css : est-ce bien le bon fichier ?
    La par contre c'est la bonne adresse mais le css ne marche pas

    Edit : je viens de tester la derniere regel de julp et la c est linverse ça marche sans le / mais avec je me retrouve sans style ...

    Bon c'est deja beaucoup mieu a vrai dire !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 106
    Points : 79
    Points
    79
    Par défaut
    Je me permet d'intervenir car j'ai le même souci avec le css.

    Petite question de noob : <base href="http://www.monsite.com/"> est à mettre dans l'entête html pour préciser que les url des includes sont relatives à l'adresse indiquée ? Ou j'ai rien pigé ?
    La connaissance, c'est comme la confiture : moins on en a, plus on l'étale !
    Coluche

  19. #19
    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 Istrella Voir le message
    Petite question de noob : <base href="http://www.monsite.com/"> est à mettre dans l'entête html pour préciser que les url des includes sont relatives à l'adresse indiquée ? Ou j'ai rien pigé ?
    Voui

    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

  20. #20
    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 RideKick Voir le message
    Edit : je viens de tester la derniere regel de julp et la c est linverse ça marche sans le / mais avec je me retrouve sans style ...
    C'est bien ce que je disais : avec le / final, l'URL du CSS est http://www.adresse.com/site/contacts/css/styles.css, ce qui n'est pas bon. Dans ce cas, la seule solution c'est mettre des URL relatives à la racine du site (src="/site/css/styles.css") ou utiliser une balise <base>.

    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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/03/2011, 17h43
  2. Réponses: 4
    Dernier message: 11/06/2008, 17h26
  3. [URL Rewriting] règle concernant RewriteRule
    Par prox78 dans le forum Apache
    Réponses: 2
    Dernier message: 08/04/2008, 11h15
  4. [URL Rewriting] Obtention d'une erreur 500
    Par Invité dans le forum Apache
    Réponses: 7
    Dernier message: 24/07/2007, 18h04
  5. [PHPLIB] Obtention d'une erreur undefined index
    Par duplo dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 16/02/2006, 15h48

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