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 31/05/2011, 11h57   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 14
Points : 14
Par défaut [URL rewriting] Réécrire search.php?search=valeur en /search/valeur

Bonjour à tous,

J'ai besoin de changer les liens de mon site avec URL Rewriting.

Mon site est composé de 2 pages (index et une page search.php sur laquelle je voudrais modifier les URL)

Je voudrais que lorsque l'on tape dans le navigateur

http://www.monadresse.com/monsite/search/marequete

on arrive sur :

http://www.monadresse.com/monsite/search.php?search="marequete"

Il se trouve dans un sous dossier "monsite" soit dans www/monsite/

Je suis chez OVH et j'ai modifié le .htaccess à la racine ou se trouve le répertoire /www de cette manière en suivant cette procédure

Voici mon .htaccess

Code :
1
2
3
4
5
6
7
8
RewriteEngine On
RewriteBase /monsite/
RewriteRule ^search/(.+) search.php?search=$1 [L]

SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 1
SetEnv PHP_VER 5


Ce code ne fonctionne pas, aussi j'ai 2 questions :

La première : il y a uniquement la page index qui à un lien vers la page search.php a travers un formulaire de type GET, donc je voudrais savoir comment modifier le lien généré par l'envoi de ce formulaire ?

La deuxième de savoir pourquoi lorsque je tape "http://www.monadresse.com/monsite/search/marequete" je tombe sur ma page search.php avec les textes html mais sans aucune image (le chemin des images "images/monimage.jpg" n'est pas bon) et la variable GET n'est pas non plus initialisé (car je l'affiche dans le formulaire de recherche normalement).

Merci
vgross est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/05/2011, 22h03   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 283
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 283
Points : 8 569
Points : 8 569
Citation:
Envoyé par vgross Voir le message
La première : il y a uniquement la page index qui à un lien vers la page search.php a travers un formulaire de type GET, donc je voudrais savoir comment modifier le lien généré par l'envoi de ce formulaire ?
IL faut faire du JavaScript pour construire l'URL comme tu veux car en GET, tu auras toujours des paramètres d'URL ?nom=valeur.

Citation:
Envoyé par vgross Voir le message
La deuxième de savoir pourquoi lorsque je tape "http://www.monadresse.com/monsite/search/marequete" je tombe sur ma page search.php avec les textes html mais sans aucune image (le chemin des images "images/monimage.jpg" n'est pas bon) et la variable GET n'est pas non plus initialisé (car je l'affiche dans le formulaire de recherche normalement).
2 problèmes en 1 :
  1. Ajoute la ligne suivante tout en haut de ton .htaccess
  2. Il faut mettre des URL relatives à la racine du site (i.e. des URL qui commencent par / : src="/images/...") dans ton code HTML car avec tes URL relatives "images/...", le navigateur construit des URL absolues http://www.monadresse.com/monsite/search/images/... car comme tu mets des /, il crois que c'est un répertoire.
__________________

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 01/06/2011, 09h35   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 14
Points : 14
Merci de ta réponse !

Alors pour les images c'est ok ! en revanche, pour la variable GET malheureusement non :-( c'est à dire que ma variable GET est en fait la requête tapé par l'utilisateur dans la page index (ou même la page search d'ailleurs) et je l'affiche dans un div caché et dans la barre de recherche mais les 2 sont vide. C'est à dire que lorsque je tape www.monadresse.com/monsite/search/marequete, je voudrais que ma variable GET['search'] soit initialisé avec ma requête...

Le problème vient peut être du fait que lorsque je rajoute ton option "Options -MultiViews", la page n'est plus accessible, je n'ai donc pas pu la rajouter...

elle sert à quoi au juste cette option ?

Dernière chose pour mon formulaire GET tu me dis de passer par du Javascript... tu peux préciser un peu ? me donner des pistes ?

Merci en tout cas !
vgross est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/06/2011, 21h47   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 283
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 283
Points : 8 569
Points : 8 569
Citation:
Envoyé par vgross Voir le message
elle sert à quoi au juste cette option ?
Un petit tour sur la doc Apache ? Elle sert à désactiver la négociation de contenu qui fait en sorte qu'Apache servira la page search.php par exemple si tu demandes juste /monsite/search sans l'extension .php. Ce truc pose souvent des problèmes avec l'URL rewriting.

Citation:
Envoyé par vgross Voir le message
Dernière chose pour mon formulaire GET tu me dis de passer par du Javascript... tu peux préciser un peu ? me donner des pistes ?
Ben je répète : avec un formulaire en GET, tu auras toujours des paramètres d'URL /monsite/search?search=marequete. Tu le vois bien : c'est le fonctionnement actuel. Si tu veux que ça affiche juste /monsite/search/marequete dans la barre d'adresse, tu es obligé de passer par du JavaScript pour construire cette URL sans paramètre d'URL. Pas le choix. Je ne sais pas comment l'expliquer autrement.
__________________

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 12/06/2011, 19h28   #5
Candidat au titre de Membre du Club
 
Inscription : décembre 2006
Messages : 65
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2006
Messages : 65
Points : 14
Points : 14
Merci de ta réponse !


Je vais regarder tout ça plus tard car ce n'est pas la priorité du projet pour le moment !

Je mettrais la solution en réponse quand je l'aurais trouvée ! :-)
vgross 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 17h38.


 
 
 
 
Partenaires

Hébergement Web