Aller au contenu

Sujets conseillés

Posté

Bonjour :D

Voici mes problèmes :

Je suis arriver sous dotclear à avoir des urls ainsi composées :

http://example.example.org/index.php?titre-du-ticket

http://example.example.org/index.php?categorie

J'aimerais les faires passer en :

http://example.example.org/titre-du-ticket.htm

http://example.example.org/categorie.htm

( par l'htaccess vu que depuis les fichiers de dotclear j'avais tester les manipulations trouvées sur les sites mais aucun effet ... )

----------

Ainsi que faire en sorte que quand quelqu'un tape :

http://example.example.org/index.html

http://example.example.org/index.htm

http://example.example.org/index.php3

http://example.example.org/index.php4 ...

Soit rediriger automatiquement vers le sous domaine :

http://example.example.org/

- vu que le fichier de base index.php renvoye automatiquement nativement vers le sous domaine ce dernier n'est pas concerner ( je ne sais pas si je m'exprime bien ici :blush: )

---------

Merci d'avance ;)

Posté (modifié)

Sinon pour ta premiere question :

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} .*$
RewriteRule ^([a-z]+)\.htm$  index.php?$1 [L]

J'espere ne pas m'etre planté, en tout cas ca devrait ressembler fortement a ca

Modifié par cognotte
Posté (modifié)

En fait j'ai lu relu les articles du HUB et des autres forums mais je ne vois que des index.php?q=1 et non pas des index.php?1 ... Et du coup je m'embrouilles ... J'ai compris comment faire pour un forum grace à ses articles mais pas pour la question que j'ai poser ici du coup :blush:

Je viens de tester donc le code :

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{REQUEST_URI} .*$
RewriteRule ^([a-z]+)\.htm$  index.php?$1 [L]

RedirectPermanent /sous-dossier/  http://example.example.org/

Mais j'ai toujours l'url d'affichée :

http://example.example.org/index.php?titre-du-ticket

( oui j'ai rajouter le RedirectPermanent qui est là depuis le début pour bien rediriger vers le sous domaine :blush: )

Pour :

RewriteRule ^([a-z]+)\.htm$  index.php?$1 [L]

Si j'ai des numéros des fois dans les titres, je ne dois pas rajouter quelque chose ? :unsure:

Merci pour votre rapidité de réponse j'ai mis un peu de temps pour bidouiller et écrire une réponse lisible :blush:

Modifié par Madrileño
Posté
Dans dotclear, il existe une fonction pour trouver récupérer en base un billet a partir d'un nom et non d'un ID ?

Ou c'est une fonction maison ?

<{POST_SNAPBACK}>

Si c'est comment j'ai juste eut le titre ou l'id+titre c'est un plugins disponible sur le site officiel de dotclear :fete:

site : http://www.dotclear.net/

Par contre ça avance pas le probleme ici qui arrive juste après :gueule:

Posté

Salut Madrilenõ,

Réécrire tes URLs est simple:

RewriteEngine on
RewriteRule index.php - [L]
RewriteRule index\.(html|htm|php3|php4) http://example.example.org/ [R=301,L]
RewriteEngine ([a-z]+)\.html index.php?$1 [L]

Cela résoud tes deux premières questions.

En ce qui concerne ta dernière question (comme d'ailleurs les deux premières), as-tu gardé à l'esprit qu'il te faudra tout de même modifier les sources pour que les URLs générées par DotClear soient sous la nouvelle forme ?

Dan

Posté (modifié)

Merci, mais c'est pas gagner quand même ... ( j'ai toujours des blems moi ... )

Alors je comprends presque tout ton code :blush:

sauf :

RewriteRule index.php - [L]

Et j'explique mes problèmes :

RewriteRule index\.(html|htm|php3|php4) http://example.example.org/ [R=301,L]
RewriteEngine ([a-z]+)\.html index.php?$1 [L]

Me renvoye une erreur que j'en mettre un ou deux ( par contre j'ai compris à quoi ça sert donc c'est bon pour la leçon :D )

Rien qu'en allant sur http://example.example.org/ ... :gueule:

ps : quand je fais http://example.example.org/index.html et que j'ai mis le code pour les redirections cela m'affiche impossible d'afficher la page ... ( sinon oui le serveur accepte le url rewriting j'ai fais un test avant )

Et pour la dernière question je ne comprends pas ... Il faudrait en plus de url rewriting toucher encore le code ? :unsure:

( Je touche jamais les codes moi donc voila :o )

Modifié par Madrileño
Posté (modifié)

ps : je commence à comprendre dan je vois des index.php?2005/12/01 aussi dans le calendrier je vais péter un cable ...

Surtout que le code est bon et je refais les manips et rien ...

C'est un hebergement 1and1 avec l'offre qui a partout en ce moment ...

Modifié par Madrileño
Posté

Salut,

Sans éditer le code, pas de réécriture autre que celle offerte par défaut sous DotClear.

Comment voudrais-tu que tes URLs en .html soient créées ? Tu voudrais qu'elles tombent du plafond ? :)

C'est à toi de les générer en modifiant les sources. Les règles du fichier .htaccess ne font jamais que la moitié du travail.

Dan

Posté (modifié)

Oki bon ba je vais voir ce que je vais décider :lol:

Merci Dan au moins maintenant j'ai mieux compris l'url rewriting ^_^

http://www.webmaster-hub.com/index.php?showtopic=20087

Je crois avoir trouver le pourquoi du plus gros problème donc la solution est sur le lien et par le fait que l'on ne peut dans mon cas enlever le "?" ...

Tampis au moins cela servira pour les autres ;)

Modifié par Madrileño
Posté

L'url rewriting ne réécrit pas les url qui sont sur ton site.

Si une page s'appelle 'domaine.com/ma-plus-belle-page-du-site', ce n'est pas l'url rewriting qui va la rappeler 'domaine .com/ma-plus-belle-page-du-site.html'.

Ca, c'est en php qu'il faut le faire. Et ca se passe dans le code.

Par contre, une fois que tu auras modifié, alors (et c'est à ca que sert l'url rewriting), elle sera renvoyée vers la page correspondante. (autrement dit : 'domaine .com/index.php?page=ma-plus-belle-page-du-site')

;)

Posté

Une solution simple pour dotclear, sans modifier le code mais sans .html à la fin, ce qui n'est pas très grave :

Dans la configuration de dotclear choisir :

* URL vers le blogue : /

* Emplacement de l'application : laissez vide

* Emplacement des images : /images/

* Emplacement du fil RSS : /rss.php

* Emplacement du fil Atom : /atom.php

* URL de trackback : /tb.php

* Type des URL : Path Info

Ensuite utiliser le fichier .htaccess suivant :

RewriteEngine On
RewriteRule ^[0-9]{4} /index.php [QSA,L]
RewriteRule ^[A-Z][a-z]+ /index.php [QSA,L]

Pour que cela fonctione il faut que tes catégories commencent par une majuscule. Si tu crée des répertoires, ils ne doivent pas commencer par une majuscule ni 4 chiffres. Si tu utilise certains plugins, par exemple l'album photo, il faut ajouter une règle genre :

RewriteRule ^gallery /index.php [QSA,L]

Posté
Une solution simple pour dotclear, sans modifier le code mais sans .html à la fin, ce qui n'est pas très grave :

Dans la configuration de dotclear choisir :

    * URL vers le blogue : /

    * Emplacement de l'application : laissez vide

    * Emplacement des images : /images/

    * Emplacement du fil RSS : /rss.php

    * Emplacement du fil Atom : /atom.php

    * URL de trackback : /tb.php

    * Type des URL : Path Info

Ensuite utiliser le fichier .htaccess suivant :

"suites de codes"

<{POST_SNAPBACK}>

En fait j'ai fait déjà cela pour la config ;)

Le problème pour le Path Info c'est qu'il n'est pas reconnu sur le serveur de 1and1 :blush:

Pour le moment je reste en : /?2005/12/01/1-ticket

J'ai lu cela pour savoir que le path info bugait chez certain :

http://petit.dotclear.net/pages/2005/11/16...ent-a-la-racine

(en QueryString : / comme URL, pour des adresses http://example.org/?Categorie, et on a fini.)

Urban je crois que c'est un cas desesperer en QueryString non ? :unsure:

Veuillez vous connecter pour commenter

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



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