Problème de UR sur dédié

  • Auteur de la discussion Auteur de la discussion Oubah
  • Date de début Date de début
WRInaute discret
Salut,

Je ne comprends pas.

Je suis sur un dédié et j'héberge plusieurs sites dessus.
J'applique l'url rewriting sur un site et tout marche très bien.
J'essaie de l'appliquer sur un autre, avec le même code, sauf que jechange le nom des pages et sur celui-ci, rien ne marche.
Même les redirections toutes cons de toto.php en toto.html en marchent pas !
J'ai essayé de mettre des urls absolus ou simplement le nom des fichiers dans le .htaccess mais même résultat.
J'ai voulu mettre les UR dans le httpd.conf dans le domaine virtuel mais ça n'a pas l'air de fonctionner non plus. Donc je ne vois pas.
Quelquun a-t-il une idée ??

Merci.
 
WRInaute discret
j'obtiens une erreur 404 mais je ne vois pas trop vu que la configuration est identique. A moins qu'il faille activer les htacess pour chaque domaine ? Mais dans ce cas, c'est dans httpd.conf ? dans le virtual host ?
 
WRInaute discret
normalement non.

as tu essayer de faire dans le sens inverse, ie essayer de mettre dans fichier htaccess qui a priori ne marche pas pour tes sites qui marchent et tu verras. TU est sur sur de tes regles parce qu'une 404, ca sent une faute de frappe lol. C ptet con ce que je dit mais ca arrive tellement souvent
 
WRInaute discret
ben en fait j'ai récupéré le htaccess de mes fichiers qui marchent, j'ai changé le nom des pages et je l'ai renvoyé sur l'autre site, dans le répertoire adéquat. Et ça ne marche pas. Mais je n'ai fait que changer le nom des pages alors là je ne vois vraiment pas pourquoi ça ne marche pas...
 
WRInaute discret
si tu es sur de ta syntaxe, alors la je peux rien. Mais je ne suis pas expert, ptet que quelqu'un d'autre peut t'aider ??
 
WRInaute discret
1) Vérifie les logs de ton serveur web...

2) Vérifie la config de ton serveur web, quoi doit avoir :
Code:
RewriteEngine On
RewriteOptions inherit

RewriteEngine On pour activer mod_rewrite
RewriteOptions inherit si tu veux que tous les sites profitent du mod_rewrite

Si l'option RewriteOptions inherit n'est pas activée dans la config serveur, tu sera obligé de mettre un RewriteEngine On dans la config de chaque VirtualHost

Extrait de la doc Apache:
Note that, by default, rewrite configurations are not inherited. This means that you need to have a RewriteEngine on directive for each virtual host in which you wish to use it.

RTFM (Read The Fucking Manual)
 
WRInaute discret
J'ai essayé de rajouter ces deux lignes car elles n'étaient pas dans la config d'Apache mais sans succès. J'ai donc quand même essayé de personnaliser par hote virtuel et j'ai mis ceci :
n'étant pas un expert de l'url rewriting, je suppose qu'il y a des erreurs :

Code:
<VirtualHost ***.***.***.***>
DocumentRoot /home/rep/
ServerName www.rep.com
UserDir /home/rep/
RewriteEngine On
RewriteOptions inherit 
RewriteRule ^chemin/page-([0-9]*)-?([0-9]*)\.html$ chemin/page.php?id=$1 [L]
</VirtualHost>

J'ai également créé un tag comme celui-ci, spécifique au répertoire dans lequel je voudrais pouvoir disposer de l'url rewrting :

Code:
<DirectoryMatch /home/rep/>
Options +FollowSymLinks
AllowOverride All
<IfModule rewrite.c>
RewriteEngine On
RewriteOptions inherit 
RewriteRule ^page-([0-9]*)-?([0-9]*)\.html$ page.php?id=$1 [L]
</IfModule>
</DirectoryMatch>

Ou est-ce que ça cloche ?
merci
 
WRInaute discret
Oubah a dit:
Code:
<VirtualHost ***.***.***.***>
DocumentRoot /home/rep/
ServerName www.rep.com
UserDir /home/rep/
RewriteEngine On
RewriteOptions inherit 
RewriteRule ^chemin/page-([0-9]*)-?([0-9]*)\.html$ chemin/page.php?id=$1 [L]
</VirtualHost>
Ou est-ce que ça cloche ?

RewriteRule ^chemin/page-([0-9]*)-?([0-9]*)\.html$ chemin/page.php?id=$1 [L]

Le chemin des pages vers laquelle tu rediriges sont des URL relatives incomplètes. Essaye plutot avec des URL relatives correctement formées :
/chemin/page.php?id=$1[L]

D'après ton exemple, les URL redirigées peuvent être :

Code:
h**p://www.abc.com/chemin/page-.html
ou
h**p://www.abc.com/chemin/page--.html
ou
h**p://www.abc.com/chemin/page-123.html
ou
h**p://www.abc.com/chemin/page-123-.html
ou
h**p://www.abc.com/chemin/page-123-123.html

Dans tous les cas, une seule variable est transmise, alors que deux champs sont définis.

Je ne sais pas si c'est vraiment ce que tu veux, tant au niveau de la forme des URL qu'au niveau des variables ?
 
WRInaute discret
Salut, alors pour le fait que soient transmises une ou deux variables, ce n'est pas ici le problème car ce code fonctionne parfaitement sur un autre site. J'utilise le ? pour spécifier justement qu'une ou deux variables peuvent être transmises. Mais certes, je vais quand même enlever la deuxième partie vu qu'elle ne sert a rien.

C'était surtout le / qui manquait devant le chemin, et maintenant ça fonctionne.
je te remercie :)
 
WRInaute discret
Oubah a dit:
Salut, alors pour le fait que soient transmises une ou deux variables, ce n'est pas ici le problème car ce code fonctionne parfaitement sur un autre site. J'utilise le ? pour spécifier justement qu'une ou deux variables peuvent être transmises. Mais certes, je vais quand même enlever la deuxième partie vu qu'elle ne sert a rien.

C'était surtout le / qui manquait devant le chemin, et maintenant ça fonctionne.
je te remercie :)

Pour les variables, c'est surtout une question de clareté et de sécurité dans ton code. Essaie de prendre l'habitude de ne pas laisser trainer du code inutile qui pourrait servir à des personnes malveillantes...

Content pour toi et satisfait d'avoir fait ma BA de l'année !

Bart
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut