Page 1 sur 1

convertion .htaccess vers httpd.ini pour SPIP 1.8.3

Publié : dim. mai 07, 2006 8:13 am
par Djinn
J'ai un pb pour convertir le .htaccess SPIP de mon site local sous easyphp en un httpd.ini avec Isapi_rewrite pour mon site publié chez hebergeur-discount :(

Voici le code du .htaccess proposé pour SPIP

















RewriteEngine On









RewriteBase /fraternite-caraibe.org/

































RewriteCond %{REQUEST_FILENAME} -f
RewriteRule "." - [skip=100]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule "." - [skip=100]







RewriteRule ^rubrique([0-9]+)\.html$ rubrique.php3?id_rubrique=$1 [QSA,L]
RewriteRule ^article([0-9]+)\.html$ article.php3?id_article=$1 [QSA,L]
RewriteRule ^breve([0-9]+)\.html$ breve.php3?id_breve=$1 [QSA,L]
RewriteRule ^mot([0-9]+)\.html$ mot.php3?id_mot=$1 [QSA,L]
RewriteRule ^auteur([0-9]+)\.html$ auteur.php3?id_auteur=$1 [QSA,L]
RewriteRule ^site([0-9]+)\.html$ site.php3?id_syndic=$1 [QSA,L]










RewriteRule ^\+-[^/\.]+(-\+)?(\.html)?$ mot.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^\+[^/\.]+\+?(\.html)?$ breve.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^-[^/\.]+-?(\.html)?$ rubrique.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^_[^/\.]+_?(\.html)?$ auteur.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^@[^/\.]+@?(\.html)?$ site.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^[^/\.]+(\.html)?$ article.php3 [QSA,E=url_propre:$0,L]




Il fonctionne parfaitement.
Toutes les aides sont bienvenues.

Merci par avance.

Djinn

Publié : dim. mai 07, 2006 9:20 am
par istrya
Salut,
J'vais essayer de t'aider, dès que j'ai finis la conversion, je te le mets ça.

Publié : lun. mai 08, 2006 5:18 pm
par istrya

Code : Tout sélectionner

############################################################## [ISAPI_REWRITE] RewriteCond %{REQUEST_FILENAME} -f RewriteRule "." - [skip=100] RewriteCond %{REQUEST_FILENAME} -d RewriteRule "." - [skip=100] RewriteRule ^/rubrique([0-9]+)\.html$ /rubrique.php3?id_rubrique=$1 [QSA,L] RewriteRule ^/article([0-9]+)\.html$ /article.php3?id_article=$1 [QSA,L] RewriteRule ^/breve([0-9]+)\.html$ /breve.php3?id_breve=$1 [QSA,L] RewriteRule ^/mot([0-9]+)\.html$ /mot.php3?id_mot=$1 [QSA,L] RewriteRule ^/auteur([0-9]+)\.html$ /auteur.php3?id_auteur=$1 [QSA,L] RewriteRule ^/site([0-9]+)\.html$ /site.php3?id_syndic=$1 [QSA,L] RewriteRule ^/\+-[^/\.]+(-\+)?(\.html)?$ mot.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/\+[^/\.]+\+?(\.html)?$ /breve.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/-[^/\.]+-?(\.html)?$ /rubrique.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/_[^/\.]+_?(\.html)?$ /auteur.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/@[^/\.]+@?(\.html)?$ /site.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/[^/\.]+(\.html)?$ /article.php3 [QSA,E=url_propre:$0,L] Voilà, par contre, j'ai pas testé donc si ça marches pas, regarde s'il n'y a pas un fichier httpd.parse.errors. Si tel est le cas, affiche son contenu ici.

Publié : mar. mai 09, 2006 12:39 am
par Djinn
Avant de faire un essai
UN GRAND MERCI pour tout ... et le reste

@+

Djinn

Publié : mar. mai 09, 2006 1:56 am
par Djinn
Première bonne nouvelle : pas de génération d'erreur (httpd.parse.errors est vide)

Ce qui n'était pas le cas avec mes essais. J'étais pas loin de la vérité (j'essaie de me rassurer) mais il y avait des erreurs dans mon fichier. La doc est pourtant en ligne ! Donc encore merci.

J'ai juste modifié la ligne :

RewriteRule ^/\+-[^/\.]+(-\+)?(\.html)?$ mot.php3 [QSA,E=url_propre:$0,L]

par


RewriteRule ^/\+-[^/\.]+(-\+)?(\.html)?$ /mot.php3 [QSA,E=url_propre:$0,L]

Le pb c'est que les adresses ré-écrites en bidule.html donne une erreur 404.
Truc étonnant aussi, quand j'écris à la main : site.org /rubrique.php3?id_rubrique=1 j'obtiens encore une erreur 404 alors que mon site local l'accepte ?

je vais regarder de plus près, s'il n'existe pas des différences (que je ne peux pas expliquer d'ailleur) entre mon site local (qui fonctionne parfaitement) et le distant qui a des comportements différents (pas seulement dans ce domaine).

Pour l'instant, la seule différence, c'est en local Apache - en distant Microsoft !!!???

Si tu as des idées à ce sujet, je suis preneur, sinon il faut que je change de serveur Web !!!???

@+

Djinn

Publié : mar. mai 09, 2006 11:12 am
par istrya
Hmmm,
Oui, pour la ligne que tu as modifié, j'avais oublié de mettre le slash :p.

hmm, ça m'a l'air bizarre, j'vais essayé de tester ça.

Au faite, les serveurs apaches et IIS sont assez différents, de plus pour l'URL rewriting, il faut installer un programme pour l'URL rewriting qui s'appelle Isapi Rewrite, qui fait grossièrement ce que fait le mod d'apache, mais a tout de même quelques différences.

Publié : mar. mai 09, 2006 2:01 pm
par istrya
Voilà la solution ;-).

[quote]##############################################################















[ISAPI_REWRITE]

























RewriteCond %{REQUEST_FILENAME} -f
RewriteRule "." - [skip=100]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule "." - [skip=100]







RewriteRule ^/rubrique([0-9]+)\.html$ /rubrique.php3\?id_rubrique=$1 [QSA,L]
RewriteRule ^/article([0-9]+)\.html$ /article.php3\?id_article=$1 [QSA,L]
RewriteRule ^/breve([0-9]+)\.html$ /breve.php3\?id_breve=$1 [QSA,L]
RewriteRule ^/mot([0-9]+)\.html$ /mot.php3\?id_mot=$1 [QSA,L]
RewriteRule ^/auteur([0-9]+)\.html$ /auteur.php3\?id_auteur=$1 [QSA,L]
RewriteRule ^/site([0-9]+)\.html$ /site.php3\?id_syndic=$1 [QSA,L]










RewriteRule ^/\+-[^/\.]+(-\+)?(\.html)?$ /mot.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^/\+[^/\.]+\+?(\.html)?$ /breve.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^/-[^/\.]+-?(\.html)?$ /rubrique.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^/_[^/\.]+_?(\.html)?$ /auteur.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^/@[^/\.]+@?(\.html)?$ /site.php3 [QSA,E=url_propre:$0,L]


RewriteRule ^/[^/\.]+(\.html)?$ /article.php3 [QSA,E=url_propre:$0,L]




Quelques explications: il fallait mettre l'anti-slash avant le point d'interrogation sur le fichier ciblé.

Publié : mar. mai 09, 2006 11:36 pm
par Djinn
Y a du mieux
mais on a pas trouvé la solution encore
les demandes du type rubrique.php3?id_rubrique=1 fonctionne

mais pas les rewrite bidule.html qui donne une erreur 404

erreur 404 qui me donne aussi une erreur :
Warning: main(inc-public.php3): failed to open stream: No such file or directory in d:\www\fraternite-caraibe.org\htdocs\dist\404.php3 on line 5

Warning: main(): Failed opening 'inc-public.php3' for inclusion (include_path='.;c:\php\pear') in d:\www\fraternite-caraibe.org\htdocs\dist\404.php3 on line 5
je continu de faire des essais
en désespoir de cause

Djinn

Publié : mer. mai 10, 2006 8:23 am
par istrya

Code : Tout sélectionner

############################################################## [ISAPI_Rewrite] RewriteCond %{REQUEST_FILENAME} -f RewriteRule "." - [skip=100] RewriteCond %{REQUEST_FILENAME} -d RewriteRule "." - [skip=100] RewriteRule ^/rubrique([0-9]+).html$ /rubrique.php3\?id_rubrique=$1 [QSA,L] RewriteRule ^/article([0-9]+).html$ /article.php3\?id_article=$1 [QSA,L] RewriteRule ^/breve([0-9]+).html$ /breve.php3\?id_breve=$1 [QSA,L] RewriteRule ^/mot([0-9]+).html$ /mot.php3\?id_mot=$1 [QSA,L] RewriteRule ^/auteur([0-9]+).html$ /auteur.php3\?id_auteur=$1 [QSA,L] RewriteRule ^/site([0-9]+).html$ /site.php3\?id_syndic=$1 [QSA,L] RewriteRule ^/\+-[^/\.]+(-\+)?(\.html)?$ /mot.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/\+[^/\.]+\+?(\.html)?$ /breve.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/-[^/\.]+-?(\.html)?$ /rubrique.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/_[^/\.]+_?(\.html)?$ /auteur.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/@[^/\.]+@?(\.html)?$ /site.php3 [QSA,E=url_propre:$0,L] RewriteRule ^/[^/\.]+(\.html)?$ /article.php3 [QSA,E=url_propre:$0,L] Là, j'espère que ça va marcher :p.

Publié : mer. mai 10, 2006 10:08 pm
par Djinn
A vrai dire je ne vois pas la différence dans le script :shock:
je dois être trop fatigué de ce problème.

De toutes façons je tente un essai de suite, les scripts que tu proposes fonctionnent mieux que les miens !!! :lol:

Merci pour ta persévérance :oops:

@+