Reecrire urls de sous-domaine

Nouveau WRInaute
Pourquoi pas essayer ceci ?

Code:
RewriteEngine on
RewriteRule ^(.*)-(.*)\.php$ /index.php?page=$1&idf=$2/ [L]

Je n'ai pas testé bien entendu mais je crois que c'est ce que tu souhaites.
 
WRInaute discret
Merci i911 ça ne marche pas ;-(

J'ai oublié de préciser que mon forum est un sous-domaine redirigé par .htaccess à la racine du site...
Est-ce que le problème pourrait venir de là ?

Code:
RewriteEngine on
RewriteRule ^(.*)-(.*)\.php$ /index.php?page=$1&idf=$2/ [L]

J'ai essayé ce code dans :

1/ dans un .htaccess dans le repertoire forum
2/ en haut du .htaccess à la racine du domaine

Rien ne marche... Que faut-il faire ? Merci[/code]
 
WRInaute impliqué
Ets-ce que tu peux donner le contenu du .htaccess de la racine?

Il faut savoir que si tu met un autre .htaccess dans un sous répertoire, les règles du .htaccess de la racine sont ignorées pour les pages se situant dans le sous répertoire en question. SI tu veux hériter des règles, il faut mettre ce qui suit dans le .htaccess du sous répertoire:

Code:
RewriteOptions inherit
 
WRInaute discret
Bonjour, merci Vap
alors mon .htaccess à la racine :

Code:
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html

RewriteCond %{HTTP_HOST} ^espritcabane.com$
RewriteRule ^(.*)   http://www.espritcabane.com/$1  [QSA,L,R=301]

RewriteEngine on
# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/sdoms
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+).([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /sdoms/%1/$1

# fix trailing slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/ [L]
 
WRInaute discret
Vap a dit:
Ets-ce que tu peux donner le contenu du .htaccess de la racine?

Il faut savoir que si tu met un autre .htaccess dans un sous répertoire, les règles du .htaccess de la racine sont ignorées pour les pages se situant dans le sous répertoire en question. SI tu veux hériter des règles, il faut mettre ce qui suit dans le .htaccess du sous répertoire:

Code:
RewriteOptions inherit

ça ne marche pas ;-( arggrrumulllll ;-) y'a de quoi devenir chèvre
 
WRInaute impliqué
Nickargall a raison. En plus, il y a deux choses qui me chiffonnent dans tes règles.

IL faut échapper les "." partout, et il ne faut pa smettre un [L] a la fin d'une règle si on veut que les suivantes s'executent.

Donc ton .htaccess devrait plutot ressembler a ce qui suit:

Code:
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^espritcabane.com$
RewriteRule ^(.*)   http://www.espritcabane.com/$1  [QSA,L,R=301]

# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/sdoms
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /sdoms/%1/$1

# fix trailing slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/

Ensuite avec la réécriture des sous domaines, l'url
-http://forum.espritcabane.com/forum-16.html
est réécrite en
-http://forum.espritcabane.com/sdoms/forum/forum-16.htlm

C'est ce que tu veux? En tout cas c'est cette URL qu'il faut réécrire a son tour
 
WRInaute impliqué
Leonick a dit:
natespritcabane a dit:
ça ne marche pas ;-( arggrrumulllll ;-) y'a de quoi devenir chèvre
rajoute des R dans les règles pour voir d'où le problème vient -> [L] => [R,L]

Le problème est connu: une URL de la forme -http://forum.espritcabane.com/chemin est récrite en
-http://forum.espritcabane.com/sdoms/chemin

j'attends de savoir ce qu'il veut faire à la place.
 
WRInaute discret
Vap a dit:
Nickargall a raison. En plus, il y a deux choses qui me chiffonnent dans tes règles.

IL faut échapper les "." partout, et il ne faut pa smettre un [L] a la fin d'une règle si on veut que les suivantes s'executent.

Donc ton .htaccess devrait plutot ressembler a ce qui suit:

Code:
ErrorDocument 401 /404.html
ErrorDocument 403 /404.html
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^espritcabane.com$
RewriteRule ^(.*)   http://www.espritcabane.com/$1  [QSA,L,R=301]

# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/sdoms
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteRule ^(.*)$ /sdoms/%1/$1

# fix trailing slash
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+[^/])$ $1/

Hello Vap et merci mais ce code me donne une erreur 500... J'ai supprimé la ligne "Options +FollowSymLinks", ça fonctionne à nouveau (?).

Vap a dit:
Ensuite avec la réécriture des sous domaines, l'url
-http://forum.espritcabane.com/forum-16.html
est réécrite en
-http://forum.espritcabane.com/sdoms/forum/forum-16.htlm

C'est ce que tu veux? En tout cas c'est cette URL qu'il faut réécrire a son tour

Pas tout à fait je voudrais une réécriture du type :

Code:
http://forum.espritcabane.com/index.php?page=forum&idf=16
en
http://forum.espritcabane.com/forum-16.php

et

http://forum.espritcabane.com/index.php?page=post&ids=59
en
http://forum.espritcabane.com/post-59.php

Hello Je supprime cette partie du post
 
WRInaute discret
Hello Vap
Bref pas la peine de s'énerver ;-) !

Je parlais de moi ;-) (pas la peine de s'énerver) s'il n'y que >2 variables dans mes urls... J'ai juste remis le title dynamique comme il l'était par défaut, parce que c'était une bourde de l'avoir figé.

Je garde néanmoins ton code précieusement (ça peut servir ;-). Merci encore parce que les réécritures d'urls c'est vraiment la poisse ce truc. J'ai l'impression que tout le monde a du mal...

Bonne soirée


Tiens c'est bizarre mon post c'est mis au-dessus (?) hop mon horloge doit être déréglée (?) Bizarre....
 
WRInaute impliqué
Désolé si mon message a l'ai énervé, je ne le suis pas.

Pour être sûr, tu ne veux pas rediriger le forum comme les autres sous domaines?

Si c'est le cas, change la règle qui le fait en ce qui suit, et ressaie la règle que j'avais donne:

Code:
# redirection des sous-domaines
RewriteCond %{REQUEST_URI} !^/sdoms
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+)\.([^.]+)$ [NC]
RewriteCond %1 !^www$ [NC]
RewriteCond %1 !^forum [NC]
RewriteRule ^(.*)$ /sdoms/%1/$1 

RewriteRule ^(.*)-(.*)\.php$ /index.php?page=$1&idf=$2/ [L]
 
Discussions similaires
Haut