Slash en rewriting ?

1000trad Messages postés 2026 Date d'inscription   Statut Membre Dernière intervention   -  
 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 !

5 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
1000trad Messages postés 2026 Date d'inscription   Statut Membre Dernière intervention   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
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
1000trad Messages postés 2026 Date d'inscription   Statut Membre Dernière intervention   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
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
1000trad Messages postés 2026 Date d'inscription   Statut Membre Dernière intervention   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
1000trad Messages postés 2026 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
1000trad Messages postés 2026 Date d'inscription   Statut Membre Dernière intervention   123
 
Ah ok merci beacoup !
0
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