Slash en rewriting ?

1000trad Messages postés 2204 Statut Membre -  
 ManusSsS -
Bonjour,

Je suis en train de faire du rewriting d'url sur mon forum.

Et je voudrais mettre un slash dans un nom SANS qu'il soit pris pour un slash normal. Je voudrais qu'il soit considéré comme un charactere courant, comme une lettre. Mais je ne veux pas qu'il ai d'influence sur mon code (exemple, retour en arriére dans l'arborescence).

Voici mon code :
RewriteRule ^nouveau-(.*)$ index.php?page=postadd&idf=$1 [L]

et je voudrais :
RewriteRule ^forum/nouveau-(.*)$ index.php?page=postadd&idf=$1 [L]

Je voudrais que " forum/nouveau " soit considéré comme un mot a part entière, même avec son slash !

Merci a tous !

--
_.-~°1000trad°~-._
Luttons contre Avast! Et prônons Avira AntiVir ! 
Configuration: Windows XP Pro
512 RAM, 1Ghz
Mozilla Firefox 3.0.10

5 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Je ne comprends pas. Tu voudrais qu'une variable $_GET contienne forum/nouveau-1 (exemple) ?
    Si c'est le cas, il te suffit d'entourer le tout par des parenthèses ...
    0
  2. 1000trad Messages postés 2204 Statut Membre 123
     
    non du tout.

    en fait, je voudrais que le server n'utilise pas le / comme un caractere de code mais comme une lettre.

    Ex : je veux pas écrire sujet-1245, mais écrire forum/sujet-1245. Mais le server crois que je veux faire un retour en arrière dans l'arborescence donc ma feuille css n'agit plus.

    Ce n'est pas compliqué, je voudrais écrire : forum suivis d'un slash suivis de sujet-1245.

    Et je veux pas qu'il crois que le slash est un retour en arrière, mais simplement un caractère que je souhaite ecrire dans l'url juste avant sujet-1245. J'ai tester de mettre un antislash devant, mais ca n'a rien fait.

    Ce n'est pas une variable et n'est pas un dossier, c'est comme une lettre sauf que cette lettre fait merder le htaccess.

    Difficile a expliqué !

    Je veux que l'url soit comme ca : www.monsite.com/forum/sujet-1245.

    Merci !
    0
  3. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Pour le rendu dans la barre d'adresse j'avais compris.
    Pour commencer, ce n'est pas le serveur qui doit gérer ça mais le navigateur (les url relatives).
    Pour inclures ton CSS, tu as 3 possibilité :
    1 - Utiliser l'url absolue : http://www.exemple.com/style.cc
    2 - Dire que tu écris le chemin depuis la racine du domaine : /style/ecran.css
    3 - Utiliser un script Javascript
    Je te conseil la solution 2
    0
    1. 1000trad Messages postés 2204 Statut Membre 123
       
      justement, c'est ca qui ne va pas ! Il crois que je lui indique un chemin alors que je veux juste qu'il ecrive un slash au milieu de mon url. Comment faire pour lui dire que je lui indique pas un chemin ?

      Merci !

      En fait, je veux faire comme sur ce sujet qui n'a pas de réponse : un dossier virtuel

      https://www.webrankinfo.com/forum/t/envie-de-slash.98612/
      0
  4. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Je t'ai déjà répondu : tu ne peux pas.
    Tout simplement parce que ça se passe sur le navigateur du client, et non sur le serveur.
    Tu dois donc trouver des alternatives du côté client !
    0
    1. 1000trad Messages postés 2204 Statut Membre 123
       
      ah ouais ????

      (AH putain de merde !!!) Désolé !

      Grrrr ! J'avais envie de le foutre mon slash avec cette méthode ! Faire un dossier virtuel en fait.

      C'est pas grave, merci encore !
      0
    2. 1000trad Messages postés 2204 Statut Membre 123
       
      ah ouais ????

      (AH putain de merde !!!) Désolé !

      Grrrr ! J'avais envie de le foutre mon slash avec cette méthode ! Faire un dossier virtuel en fait.

      C'est pas grave, merci encore !
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Pour ton CSS, écrit l'url absolue et ça fonctionnera, quelque soit le dossier (virtuel ou pas, le temps qu'il est écrit dans la barre d'adresse) dans lequel tu es.
    0
    1. 1000trad Messages postés 2204 Statut Membre 123
       
      Ah ok merci beacoup !
      0
    2. ManusSsS
       
      Pour ceux qui cherchent encore des réponses à ce genre de question, il est possible de déclarer le CSS dans le htaccess et de l'appeler par son nouveau petit nom de la façon suivante :

      RewriteRule ^.*style$ style\/style\.css [L]

      Dans vos pages vous déclarez le CSS nommé "style" et la règle précédente se charge d'aller chercher le fichier dans "style/style.css" par exemple.

      Pour les décalages de répertoires, qui posent parfois des problèmes pour les images ou les inclusions, il suffit de faire des règles de compensation plus générales de la façon suivante :

      RewriteRule ^.*images\/(.*)$ images\/$1 [L]

      Tous les éléments appelés de la façon suivante "répertoiredécalé/images/nomimage" sont en réalité trouvés dans "images/nomimage". Du coup les décalages de répertoires ne gênent plus.
      0