Aller au contenu

Sujets conseillés

Posté (modifié)

Bonjour tous le monde,

Aujourd'hui je but sur les url rewriting. Merci de vous intéresser à mon cas :-)

Voici les liens actuelle :

download/index.php?rep=dossier&id=EXP_Fichier_1.1_.7z

Et donc j'aimerais obtenir (répertoire virtuel donc) :

download/dossier/EXP_Fichier_1.1_.7z

Voilà le code que j'ai testé :

RewriteEngine On
RewriteRule ^download/([a-z]*)-([A-Za-z0-9_.]*)$ /download/index.php?rep=$1&id=$2 [L]

Avec un lien comme ça :

http://fr.monsite.net/download/dossier-EXP_Fichier_1.1_.7z

Jusque là ça marche, le téléchargement de EXP_Fichier_1.1_.7z se lance. Mais dès que je remplace par (répertoire virtuel):

RewriteRule ^download/([a-z]*)/([A-Za-z0-9_.]*)$ http://fr.monsite.net/download/index.php?rep=$1&id=$2 [L]

Là ça ne fonctionne plus, j'ai un 404.

Où est-ce que ça cloche avec le répertoire virtuel ? Je ne souhaite pas utiliser <base href=... dans le head.

Pouvez m'aider à optimiser la syntaxe des expressions régulières ?

Merci d'avance :)

PS : je sais pas vous mais ce tuto me dit quelque chose :

h**p://www.spip-contrib.net/La-reecriture-des-URL-a-la-volee

Modifié par Spark
Posté
PS : je sais pas vous mais ce tuto me dit quelque chose :

h**p://www.spip-contrib.net/La-reecriture-des-URL-a-la-volee

Évidemment puisqu'il a été écrit par Dan lui-même ;)

C'était avant la mise en ligne de Webmaster-Hub.

Posté (modifié)

Je vois,

Mais sinon pour mon problème de dossier virtuel ? Quelqu'un à une idée ? Je précise que si je crée le dossier virtuel ça fonctionne, même si je ne mets pas de lien absolu dans .htaccess.

Modifié par Spark
Posté

Salut,

404, t'es pas loin,c 'est que le chemin apres rewriting est pas bon,

as tu essayé :

RewriteRule ^download/([a-z]*)/([A-Za-z0-9_.]*)$ /download/index.php?rep=$1&id=$2 [L]
OU
RewriteRule ^download/([a-z]*)/([A-Za-z0-9_.]*)$ index.php?rep=$1&id=$2 [L]

Je crois que ça dépends où est ton .htaccess

Posté (modifié)

Bonsoir,

RewriteRule ^download/([a-z]*)/([A-Za-z0-9_.]*)$ /download/index.php?rep=$1&id=$2

Cette ligne ne peut fonctionné conformément au mise en garde par rapport au dossier virtuel. Sauf si on utilise un lien absolu (comme j'ai fais), mais moi je dois en plus créer les dossiers virtuel sur le serveur(config actuelle), mais je ne souhaite pas avoir des dossiers qui se baladent pour rien.

RewriteRule ^download/([a-z]*)/([A-Za-z0-9_.]*)$ index.php?rep=$1&id=$2 [L]

Non là je ne vois pas ou tu veux en venir ? index.php n'est pas à la racine du site. J'ai toutefois essayé tes deux proposition et ça ne fonctionne pas.

Je crois que ça dépends où est ton .htaccess

Je croyais que pour le rewriting il fallait obligatoirement le mettre à la racine ? je vais explorer cette piste avec le code que tu a donné notamment.

Merci

Modifié par Spark

Veuillez vous connecter pour commenter

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



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