Aller au contenu

url rewriting


nina_bee

Sujets conseillés

bonjour, pour mon site je souhaiterais avoir des url 'propres' (c'est à dire sans passage de variables en get et sans .php) par exemple:

www.toto.fr/tutu.php?recherche=12345678&ok=ok deviendrait

www.toto.fr/12345678.html

j'ai créé un fichier .htaccess placé dans le dossier new

voici mon code:

AddType x-mapp-php5 .php
Options +FollowSymlinks
RewriteBase /videopourcv/new/
RewriteEngine on
RewriteRule ^12345678\.html$ /visualisation.php?recherche=12345678&ok=ok [QSA,L]

je précide que je suis chez 1&1 et qu'il m'on assuré que l'url rewriting était possible avec mon offre.

merci d'avance pour votre aide.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je ne sais pas si 1&1 a un module spécifique, mais essaie ceci (remplace tout)

AddType x-mapp-php5 .php
RewriteEngine On
Rewriterule ([0-9]+)\.html visualisation.php?recherche=$1&ok=ok [L]

Je ne sais pas si le FollowSymlinks ou le RewriteBase sont nécessaires chez 1&1, tu peux les ajouter avant ta règle si cela ne fonctionne pas.

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan mais ca ne marche pas.

Je suis obligée de mettre le rewriteBase car mon .htacces n'est pas à la racine du site mais and un sous dossier new.

Pour Options +FollowSymlinks je ne sait pas non plus. sur mon .htaccess de base il y avait Option +Indexes. Je ne sait pas si cela a un rapport ni quelle est la différence.

une autre question: tu écris RewriteEngine On avec un o en majuscule, pourquoi?

Lien vers le commentaire
Partager sur d’autres sites

Que le .htaccess soit à la racine ou non n'a pas d'influence sur le RewriteBase, sauf si l'URL de ton répertoire ne reflète pas le chemin physique sur le serveur.

Le "On" est une habitude, et fonctionne à l'identique du "on" (en minuscules)

Le fichier visualisation.php se trouve dans quel répertoire ?

PS: Options +Indexes n'a aucune influence sur la réécriture, il sert simplement à permettre le listing des fichiers du répertoire.

PS2: donnes-moi l'URL complète que tu voudrais obtenir, ainsi que l'emplacement du fichier visualisation.php

Lien vers le commentaire
Partager sur d’autres sites

ok je récapitule:

mon code. htaccess

AddType x-mapp-php5 .php
Options +FollowSymlinks
RewriteBase /videopourcv/new/
RewriteEngine on
RewriteRule ^12345678.html* /visualisationVideoRecruteur.php?recherche=12345678&ok=ok [L]

mon erreur est:

Error 404 - Not found

Le fichier requis n'a pas été trouvé. Il peut s'agir d'une erreur technique. Veuillez réessayer ultérieurement. Si vous ne pouvez pas accéder au fichier après plusieurs tentatives, cela signifie qu'il a été supprimé.

merci de votre aides a tous les deux...

Lien vers le commentaire
Partager sur d’autres sites

Bonjour je suis chez 1and1 et j'utilise l'url rewriting

Le rewrite base n'est pas nécessaire

Ton add-type, c'est pour faire quoi ? indiquer que le serveur doit interpreter en PHP5 ? chez 1and1, c'est natif (en tous cas je n'ai pas eu là le faire).

Essaye sans le Flag [L] à la fin.

Exemple

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^12345678\.html$ /visualisationVideoRecruteur.php?recherche=12345678&ok=ok [NC]

Assure toi que la page visualisationVideoRecruteur.php existe et est dans le même répertoire que le .htaccess

Cordialement, Kent

Lien vers le commentaire
Partager sur d’autres sites

Salut Kent,

d'abord merci de te pencher sur mon cas.

Assure toi que la page visualisationVideoRecruteur.php existe et est dans le même répertoire que le .htaccess
c'est bien le cas

pour le reste j'ai fait un copié collé de ton code et quand je teste j'ai toujours la meme erreur. J'ai essayé de le modifier tel que

AddType x-mapp-php5 .php
Options +FollowSymlinks
RewriteBase /videopourcv/new/
RewriteEngine on
RewriteRule ^12345678\.html$ /visualisationVideoRecruteur.php?recherche=12345678&ok=ok [NC]

mais ca ne marche pas non plus.

Autres précisions (on sait jammais)

1/Si j'enleve le AddType et que je fait un phpinfo(), j'ai une version de php 4.4.7.

2/j'ai mis un rewrite base car les fichiers que je veux traiter ne sont pas à la racine mais dans un dossier appelé new.

3/J'ai appelé mon hébergeur qui m'a confirmé que le mod_rewrite etait actif mais quand je fais un phpinfo() je ne vois pas de mod_rewrite (comme c'est indiqué dans certains tutos).`

Bref je ne sais plus quoi tenter pour avoir l'url rewriting sur mon site.

Lien vers le commentaire
Partager sur d’autres sites

C'est bizarre tout ça.

Commençons par vérifier si le module rewrite est actif.

creer une page vierge : test.php

mets y un echo de quelque choe.

mets là à la racine de ton site.

puis ajoute à ton htaccess cette règle

RewriteRule ^test\.html$ /test.php [NC]

Ensuite dans ton navigateur tu tape

tonsite.tld/test.html

Tu devrais avoir le contenu de ton test.php

Fais ça, et dis-nous déjà si ça fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

j'ai testé:

dans le .htaccess:

AddType x-mapp-php5 .php
Options +FollowSymlinks
RewriteBase /videopourcv/new/
RewriteEngine on
RewriteRule ^test\.html$ /test.php [NC]

url testés: www.monsite.fr/new/test.php --> c'est bon

www.monsite.fr/new/test.html -->erreur 404

www.monsite.fr/test.html -->erreur 404

le fichier .htaccess et test.php sont dans le même dossier

ps: j'ai un pack confort chez 1&1.

Lien vers le commentaire
Partager sur d’autres sites

Ce n'est pas normal, il y a un problème de chemin d'accès.

le fichier .htaccess et test.php sont dans le même dossier

Quel est ce dossier ?

Que donne

http://www.monsite.fr/test.html

Avec

RewriteRule ^test\.html$ /new/test.php [NC]

Comme règle.

L'url rewriting est activé , il s'agit d'un problème de chemin. On s'enmèle les pinceaux.

Ton rewrite base est-il indispensable ?

Le dossier "new" est lui même dans un autre dossier videopourcv ? Y'a-t'il un nom de domaine (ou de sous-domaine) qui point vers ce dossier videopourcv de façon native.

Exemple : http://videos.monsite.fr/ pointe sur monsite.fr/videospourcv

?

Il nous faudrait plus d'inforamtions sur l'arborescence et quel domaine point sur quel dossier

Avec ton rewritebase, tu indique que la racine http://www.monsite.fr/ ne point plus sur le repertoire "/" mais sur le repertoire "/videospourcv/new" ?

Donne nous plus d'informations, bon courage.

:)

PS: Ton rewrite base dépend t'il du rewrite engine ? si c'est le cas il devrait être en dessous et non en dessus.

Modifié par Kent
Lien vers le commentaire
Partager sur d’autres sites

ouille ouille ouille je sent que j'ai pas encore le niveau...

Quel est ce dossier ?
C'est le dossier new.

a la racine du site il y a en fait un dossier new qui contient la partie sur laquelle je bosse

donc l'arborescence c'est:

videopourcv (répertoir racine) --> new

par contre il me semble que videopour cv est un sous domaine (je vien de me renseigner à ce propos car j'ai pas pu le faire avant). Par contre dans le répertoire videopourcv il y avait déja un .htaccess mais sans regles d'url rewriting.

Que donne

http://www.monsite.fr/test.html

Avec

RewriteRule ^test\.html$ /new/test.php [NC]

Comme règle.

ben la ca MARCHE!!!!! ouiiiiiii youpiiiiii (je fais 3 tours sur ma chaise de bureau). Mais reste encore à savoir pourquoi. Je pensais que rewriteBase me servait a redéfinir la racine du site...

PS: Ton rewrite base dépend t'il du rewrite engine ? si c'est le cas il devrait être en dessous et non en dessus.
pour ca je ne sait pas...

en out cas merci beaucoup pour ton aide j'y suis presque et c'est grace à toi :flower:

Lien vers le commentaire
Partager sur d’autres sites

RewriteRule ^([0-9]*)\.html$ /new/visualisation.php?recherche=$1&ok=ok [NC]

Devrais donc répondre à tes besoins.

Pour n'importe quelle chiffre on passera par Get ce même chiffre et on fera un recherche dessus.

C'est bien ça que tu veux ?

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...