Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2012, 09h12   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 0
Points : 0
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 :
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
freestyle83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 14h29   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 299
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 299
Points : 8 583
Points : 8 583
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é ?
__________________

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 09/01/2012, 16h40   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 0
Points : 0
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à?
freestyle83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2012, 21h32   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 299
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 299
Points : 8 583
Points : 8 583
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 !
__________________

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 09/01/2012, 22h54   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 0
Points : 0
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 :
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?
freestyle83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 10h39   #6
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 299
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 299
Points : 8 583
Points : 8 583
Et bien il faut changer le code PHP pour écrire des URL en index-xxx.php. C'est la ligne 3 :
Code PHP :
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.
__________________

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 10/01/2012, 11h03   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 18
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 18
Points : 0
Points : 0
ça ne fonctionne pas : page indisponible.

C'est pas grave.

Merci quand même pour votre aide.
freestyle83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h04   #8
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 299
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 299
Points : 8 583
Points : 8 583
Quelle URL s'affiche dans le navigateur ?

Si tu as accès aux logs d'erreur d'Apache, qu'y a-t-il dedans ?
__________________

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 Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h03.


 
 
 
 
Partenaires

Hébergement Web