Rewriting en local dans un alias

Nouveau WRInaute
Bonjour à tous,

C'est avec grand plaisir que je découvre ce forum, une vrai mine !
Voici mon petit souci, je démarre sur les notions de rewriting, lorsque je bosse
dans le répertoire www d'Easyphp mon code s'exécute sans prob, en revanche
au passage dans un repertoire en Alias çà ne fonctionne plus.
J'ai bien vu qu'il y avait un post similaire à ce sujet mais en suivant la manip
çà ne passe pas.

Dans mon httpd.conf j'ai ceci pour définir mon Alias

#alias
Alias "/Musiksound" "F:/MP3/_musiksound/"
<Directory "F:/MP3/_musiksound/">
Options Indexes FollowSymLinks Includes
AllowOverride All
#Order allow,deny
Allow from all
</Directory>

Avec çà je me retrouve avec un 404 à cause d'un double slash:
File does not exist: f:/mp3/_musiksound//artistdata-3.html

si je rectifie et ajoute le slash dans l'alias comme ceci:
#alias
Alias "/Musiksound/" "F:/MP3/_musiksound/"
<Directory "F:/MP3/_musiksound/">
Options Indexes FollowSymLinks Includes
AllowOverride All
#Order allow,deny
Allow from all
</Directory>

Avec celui là c'est une erreur 400:
Invalid URI in request GET /Musiksound/artistdata-3.html HTTP/1.1

Y a un truc qui m'échappe....
merci d'avance si vous avez une explication...
:wink:
 
WRInaute occasionnel
tes alias sont mal ecrit tu aurais du les ecrire comme ca:
Alias /Musiksound/ "F:/MP3/_musiksound/"
<Directory "F:/MP3/_musiksound">
Options Indexes FollowSymLinks Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Ensuite il faut voir tes regles de reecriture peut etre qu'il ya un pb aussi
 
Nouveau WRInaute
merci david
je viens de ré-écrire comme tu proposes mais çà retourne tjrs l'erreur
en 400...

pour info voici mon htaccess qui se trouve à la racine de
mon repertoire " _musiksound"

RewriteEngine on
RewriteRule ^artistdata-([0-9]+)\.html$ artistdata.php?idART=$1 [PT,L]


le artistdata.php est lui aussi à la racine

çà doit être une petite erreur toute bête j'en suis sûr vu que çà passe
quand je teste dans le rép "www" d'easyphp

mais je ne vois pas mon erreur d'écriture....
 
WRInaute occasionnel
la aussi legere erreur :)
RewriteEngine on
RewriteRule ^artistdata-([0-9]*)\.html /artistdata.php?idART=$1 [PT,L]
c'est quoi le flag PT? connait pas dans le doute moi je le virerais
 
WRInaute passionné
David@site a dit:
c'est quoi le flag PT? connait pas dans le doute moi je le virerais

Quelques explications sur le flag [PT]:

* 'passthrough|PT' (pass through to next handler)
This flag forces the rewriting engine to set the uri field of the internal request_rec structure to the value of the filename field. This flag is just a hack to be able to post-process the output of RewriteRule directives by Alias, ScriptAlias, Redirect, etc. directives from other URI-to-filename translators. A trivial example to show the semantics: If you want to rewrite /abc to /def via the rewriting engine of mod_rewrite and then /def to /ghi with mod_alias:
RewriteRule ^/abc(.*) /def$1 [PT]
Alias /def /ghi
If you omit the PT flag then mod_rewrite will do its job fine, i.e., it rewrites uri=/abc/... to filename=/def/... as a full API-compliant URI-to-filename translator should do. Then mod_alias comes and tries to do a URI-to-filename transition which will not work.

Note: You have to use this flag if you want to intermix directives of different modules which contain URL-to-filename translators. The typical example is the use of mod_alias and mod_rewrite

http://zuse.esnig.cifom.ch/analyse/ias/ ... on_pls.htm

Fred
 
Nouveau WRInaute
Bingo David !

la voici mon erreur d'écriture !

ce / oublié !

ah...quel soulagement...

Merci encore, je vais pouvoir poursuivre
mes investigations sur le rewriting, en étant beaucoup plus vigilant sur mes écritures !


concernant le flag, c'était une tentative choppé dans un post ici...

Merci !!!!!!

Arkenium ;-)
 
Discussions similaires
Haut