Vous n'êtes pas identifié(e).
Pages : 1
Hello,
Je veux faire la RewriteRule suivante : si la requete ne correspond ni a un fichier existant, ni a un repertoire existant, la passer en argument a un script. Par exemple, si je tape dans mon navigateur http://www.chezmoi.com/toto et que toto n'existe pas dans mon DocumentRoot, je veux le rediriger vers http://www.chezmoi.com/script?arg=toto
Bon, dit comme ca, ca a l'air simple. J'ecris donc les regles suivantes :
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/(.+)$ /script?arg=$1
Je relance apache et je teste :
Test 1 - snamarche !
http://www.chezmoi.com/toto (toto n'existe pas dans mon DocumentRoot) : ca marche, la RewriteRule s'execute et toto est bien passe en argument a mon script
Test 2 - snamarchpa !
http://www.chezmoi.com/pouet/ (pouet/ est un repertoire dans mon DocumentRoot) : la RewriteRule s'execute, alors qu'elle ne devrait pas. J'ai comme un probleme.
Test 3 - snamarche !
http://www.chezmoi.com/pouet/index.html : la RewriteRule ne s'execute pas car index.html existe bien dans pouet/
Conclusion - c'est la merde
Le test d'existence des repertoires ne fonctionne pas, en tout cas j'en ai l'impression.
Est-ce que quelqu'un sait d'ou ca peut venir ?
Merci !
- Tu sais ce qui ferait bien sur le bar ?
- Uh ?
- TON NEZ ! *BUNK*
-+- Culture générale in GPJ: Full Throttle -+-
Hors ligne
et en ajoutant un [OR] à la fin de ton premier RewriteCond ?
[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222
Hors ligne
Utilise plutot la directive "ErrorDocument 404 script.php"
ça redirigera automatiquement les erreurs 404 vers ce script
Hors ligne
ioguix: Je ne veux pas de OR mais un AND entre les conditions, sinon ca ne peut pas fonctionner
mathieu9512: non ca ne conviendra pas pour ce que je veux faire, il me faut bien des RewriteRules
- Tu sais ce qui ferait bien sur le bar ?
- Uh ?
- TON NEZ ! *BUNK*
-+- Culture générale in GPJ: Full Throttle -+-
Hors ligne
Y'a un truc bizarre aussi : des que je decommente la directive "RewriteEngine on", le server-info me balance une page blanche avec :
Apache Server Information
No such module
- Tu sais ce qui ferait bien sur le bar ?
- Uh ?
- TON NEZ ! *BUNK*
-+- Culture générale in GPJ: Full Throttle -+-
Hors ligne
J'ai trouve, en activant les logs. Mon DirectoryIndex va d'abord chercher un index.html dans les repertoires. Or, lorsque seul un index.php est present, le test d'existence du index.html echoue et le RewriteEngine s'active. Le probleme est donc resolu en mettant index.php en premier dans la directive DirectoryIndex.
- Tu sais ce qui ferait bien sur le bar ?
- Uh ?
- TON NEZ ! *BUNK*
-+- Culture générale in GPJ: Full Throttle -+-
Hors ligne
donc, c'est quoi la dernière version de ton rewrite ?
[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222
Hors ligne
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule ^/(.+)$ /script?arg=$1
Avec en plus un petit
DirectoryIndex index.php
Pour s'avoir d'ou venait le souci j'ai active le logging de mod_rewrite :
RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 3
(tres verbeux, ne pas oublier de le desactiver sinon ca remplit un FS au bout de 10000 requetes)
- Tu sais ce qui ferait bien sur le bar ?
- Uh ?
- TON NEZ ! *BUNK*
-+- Culture générale in GPJ: Full Throttle -+-
Hors ligne
[HS]Etrange etrange ... il me semblait que y0m était un jeunot d'une vingtaine d'année et non une gentille petite mamie ...
OS qui va donc ranger son sabre[/HS]
Dernière modification par OcamlScheme (20/07/2006 14:47:01)
Debian in Sid
Hors ligne
Moi, ce sont les fautes qui me font réagir !!!
Pour savoir d'où venait le souci j'ai activé le logging de mod_rewrite :
RewriteLog "/tmp/rewrite.log"
RewriteLogLevel 3(très verbeux, ne pas oublier de le désactiver sinon ca remplit un FS au bout de 10000 requêtes)
LeDub qui signe avec le bout de son crayon, d'un L qui veut dire .... Linux !!!!
« Ne doutez pas qu'un petit nombre de personnes déterminées puisse changer le monde. En fait, ça a même toujours marché comme ça.»
Margaret Mead
---
VeoSearch est un moteur de recherche solidaire qui permet de financer des projets associatifs de développement durable par vos recherches Internet. Utilisez-le !!!
Hors ligne
Oé, mais mamie elle est...ROCK'N'ROLL !
[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222
Hors ligne
Tiens, d'ailleur, en parlant de r'n'r, avec le grigrim, on va aller voir les EODM (Eagles of death Metal) le 31 Août...Si ça botte des gens de nous y retrouver (malgrès leur nom, ce n'est pas du death metal !)
C'est à Paris (désolé pour les autres ) à la boule noire (du coté de pigale si mes souvenirs sont bon).
Pour ceux-ce qui ne connaissent pas les EODM, le net est bourré de clips et autre titre en live...Je vous conseil par exemple un de leur dernier titre : 'I want you so Hard' qui est assé fun et avec qques invités bien choisis
++
[email protected]
"Contrairement aux chasseurs qui, eux, ne sont pas des lapins, les pollueurs, eux sont des ordures. - Philippe Geluck, Le chat"
gpg: 0828C222
Hors ligne
Pages : 1