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 :

paramètres et .htaccess


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 43
    Par défaut paramètres et .htaccess
    Bonjour à tous,


    Depuis quelques jours je me prends la tête sur mon fichier .htacess , j'ai fait pas mal de recherche, mais cela ne fonctionne pas.
    J'espère que vous pourrez m'aider parce que j'ai le sentiment d'être passer à côté de quelque chose.

    Je cherche à rendre mes url plus propre, que :

    http://www.monsite.com/dossiers/Actu/index.php?nom=23

    deviennent :

    http://www.monsite.com/dossiers/Actu/index-23.php

    (A la place du index je mettrais probablement un autre mot, quant au chiffre, j'ai choisi de faire passer l'id en paramètre, mais il y a de forte chance que ça devienne l'id_titre par la suite.)

    sur mon htacess j'ai écris ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on 
    RewriteRule ^index-([0-9]+)\.php$  index.php?nom=$1 [L]
    j'ai essayé plusieurs écriture differente ( dans ma langue on dit bidouiller ) car je ne connais pas trop, mais je suis presque sur que cette ligne est bonne.

    Or, elle ne fonctionne pas du tout.
    Je me tourne donc vers vous, dans l'espoir que vous pourrez m'aider.

    En vous remerciant

    Edit : je précise que le .htacess se situe dans le dossier Actu

  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
    Par défaut
    Oui, la ligne semble correcte.

    Citation Envoyé par freestyle83 Voir le message
    Or, elle ne fonctionne pas du tout.
    C'est un peu vague : il se passe quoi exactement ?

    Serveur dédié ou hébergé chez toi/ton entreprise ou serveur mutualisé ?

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 43
    Par défaut
    Bonjour et merci Mac de m'avoir répondu.

    En fait, il ne se passe absolument rien, l'url reste de la forme :

    http://www.monsite.com/dossiers/Actu/index.php?nom=23

    Je suis héberge chez ovh serveur mutualisé.


    Autre précision : j'ai mis le .htaccess dans le dossier Actu.

    J'ai un autre .htacess à la racine de mon site. En sachant que les liens sur lequel on doit cliquer pour accéder à la page cité ci-dessus se trouve sur la home ( donc la page index de la racine du site).
    Et que la page : index.php?nom=23 n'existe pas réellement.. je vais chercher les données dans la bdd

    Peut être que le problème vient de là?

  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
    Par défaut
    Et tu voudrais qu'il se passe quoi avec cette URL /dossiers/Actu/index.php?nom=23 ? Ta RewriteRule matche les URL ^index-([0-9]+)\.php$ (au /dossiers/Actu près qui est implicite car le .htaccess est dans ce dossier) ce qui ne correspond évidemment pas à ton URL d'entrée, donc il ne se passe rien, c'est normal.

    J'ai l'impression que tu confonds les choses. Apache ne modifie pas du tout le code HTML de tes pages, donc si ton code PHP génère des liens <a href="index.php?nom=23">, les URL reçues par le navigateur vont rester telles quelles. Ta règle est parfaitement juste mais à condition de demander l'URL /dossiers/Actu/index-23.php. Si le but est de faire en sorte que les URL de tes pages HTML changent, j'ai malheureusement une mauvaise nouvelle pour toi : il va falloir les changer toutes toi-même !

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 43
    Par défaut
    Rebonsoir,

    les pages html (ou plutot pour moi php) n'existe pas physiquement parlant.
    Ce sont des pages virtuelles;

    En fait j'ai un dossiers actu, dans ce dossier j'ai un fichier "index.php" sur lequel j'ai mis en place une structure "type" de mise en page.
    Mes données sont récupéré dans la base de donnée, j'utilise href et je récupère la variable par la méthode Get pour renvoyer une page.

    ça me donne une url
    http://www.monsite.com/dossiers/Actu/index.php?nom=id

    Ce que je voudrais c'est que les Url soit transformé en :

    http://www.monsite.com/dossiers/Actu/index-23.php
    ou 23 correspond à un id (pour cet exemple).


    Sur mon code html/php pour récupéré ce fameux lien j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while ($donnees = mysql_fetch_array($req_table))
    	{
    		echo '<td><a href= "dossiers/Actu/index.php?nom='.$donnees['id'].'" class="info">
    		<font color="ff8000">'.date("d/m/Y", strtotime($donnees['date'])).'</font>
    		- '.$donnees['titre_index'].'
    		<span><img src="dossiers/Actu/'.$donnees['url_image'].'"/>'.$donnees['description'].'</span>
    		</a></td>';
    	}

    Du coup, avec ce que vous me dites, je ne comprends pas trop.

    Est-il possible ou non de faire ce genre de manip?

  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
    Par défaut
    Et bien il faut changer le code PHP pour écrire des URL en index-xxx.php. C'est la ligne 3 :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<td><a href= "dossiers/Actu/index-'.$donnees['id'].'.php" class="info">
    et tu gardes le .htaccess tel que tu l'as donné dans ton premier post.

Discussions similaires

  1. .htaccess, paramètres infinis stockés dans un GET
    Par christophetd dans le forum Apache
    Réponses: 3
    Dernier message: 04/10/2009, 19h12
  2. Réponses: 1
    Dernier message: 05/07/2009, 12h37
  3. Réponses: 5
    Dernier message: 07/03/2007, 22h55
  4. [HTACCESS] Paramètres non pris en compte
    Par alexfrere dans le forum Apache
    Réponses: 1
    Dernier message: 30/01/2007, 21h17
  5. Liste exhaustive des paramètres du fichier .htaccess
    Par Christophe Charron dans le forum Apache
    Réponses: 3
    Dernier message: 09/02/2006, 17h46

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