OVH Community, votre nouvel espace communautaire.

RewriteRule


useless
09/11/2010, 06h46
Ton "nom de l'artiste X, Y, Z" tu devrais le "url encoder".
Ton René Magritte deviendra Ren%C3%A9%20Magritte et ça ne pose pas de souci dans les urls.
Pour voir ce que ça donne : http://meyerweb.com/eric/tools/dencoder/
En php : http://php.net/manual/fr/function.urlencode.php

Evidemment, de l'autre côté il faut décoder.

Pour l'htaccess, je suis moi même en galère...
Mais je ne vois pas pourquoi les liens seraient foireux dans la page.
Les RewriteRule marchent juste au niveau des requêtes, ils ne modifient pas le code de la page.
Vérifie que tes liens sont bien mis dans la page, avec le http:// devant et tout, pour être sûr qu'il prenne ça bien comme un lien externe.

agel22
09/08/2010, 15h50
En effet, les accents fonctionnent mal.

Voici une fonction permettant de les enlever, ainsi que d'enlever les caractères spéciaux et de les remplacer par des tirets '-'.
Code:
 function rewritePseudo($pseudo){      
 $pseudo = strtr($pseudo,'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ','AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn'); 
$in = array('"',' ', '?', '!', '.', ',', ':', "'", '&', '(', ')','/','#');
$out = array('-','-', '', '', '', '', '', '-', 'et', '', '','-','-');
$pseudo = str_replace($in, $out, $pseudo);
return $pseudo;
}
Remplace la variable $pseudo par $url. Et passes toutes URL dans cette fonction avant de les afficher.

titos
06/08/2010, 18h12
Bonjour,

Je me permets de vous demander si vous voulez bien me donner un coup de pouce...

J'ai un .htaccess qui fonctionne :

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-zA-Z\'\-\ ]+)$ start_Gal_Perso.php?Gal_ID=$1

se traduit par :
http://www.mondomaine/nom de l'artiste X, Y, Z...

Mais une fois arrivé sur cette page, j'ai un lien qui doit pouvoir envoyer à son site personnel :

http://www.sitepersoneX, Y, Z...

Or le lien que j'obtiens est :
http://www.mondomaine/www.sitepersonelX, Y, Z

Comment me débarrasser de www.mondomaine/ sans affecter par ailleurs les autres liens internes,
sachant que mon htaccess est à la racine ?

Je cherche dans les docs et les exemples mais je ne trouve rien qui ressemble à ça ou alors je ne le vois pas. Ce truc est quand même extrêmement complexe pour moi...

Merci beaucoup si ça ne vous ennuie pas de me débloquer !

Autre question ?
'nom de l'artiste X', Y, Z ci-dessus peut être 'Jean Renoir' ou 'Gustave Courbet' ou 'Vincent Van Gogh' mais si c'est un nom comme 'René Magritte" ça ne passe pas...
Je suppose qu'il n'est pas possible d'avoir des caractères accentués dans une URL ?