Rewrite URL impossible :(

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Rewrite URL impossible :(

par Aurelie » 18 oct. 2005, 10:28

Bon ben ca marche quand même pas même avec des \ devant les ?

par mere-teresa » 18 oct. 2005, 10:16

Modération : je déplace ton message dans le forum "Autre" où il aura peut-être encore plus de réponses, étant donné que ta question concerne le serveur Apache et pas seulement PHP.

par Ripat » 18 oct. 2005, 07:33

Essaye en échappant le ? qui signifie quelque chose en regex: le caractère qui le précède est optionnel dans motif.

exemple.php?autrechose matchera exemple.phautrechose et exemple.phpautrechose mais jamais exemple.php?autrechose

Essye donc

Code : Tout sélectionner

RewriteRule ^modules/news/article.php\?storyid=([0-9]*)$ actualite.php?id=$1 [R=301]
Il y a aussi peut-être un problème de chemin de fichier vers la redirection. Pour t'en assurer essaye d'abord :

Code : Tout sélectionner

RewriteRule ^modules/news/article.php\?storyid=([0-9]*)$ http://www.phpfrance.com [L]
tu peux aussi voir si tu as mod_rewrite de apache de dans le phpinfo ( apaches modules il me semble )
Effectivement! Merci pour l'info :wink:

Pourquoi faire simple quand on peut faire compliqué?

par Aurelie » 17 oct. 2005, 17:12

la redirection marche bien, ça a redirigé toutes mes pages vers phpfrance.

ca vient donc bien de la synthaxe. mais dans ce cas, quel est le probleme ?
RewriteRule ^modules/news/article.php?storyid=([0-9]*)$ actualite.php?id=$1 [R=301]
ca ça voudrait dire que quand on va sur http://www.damechaos.com/modules/news/a ... sotyid=456 (par exemple) on se retrouve par redirection 301 sur http://www.damechaos.com/article.php?id=456

c'est bien ça ?

Sauf que c'est pas le cas :(

j'ai voulu mettre ça :
RewriteRule ^actualite.php?id=([0-9]*)$ modules/news/article.php?id=$1 [L]
mais ça n'a pas marché :/

par fab » 17 oct. 2005, 13:30

tu peux aussi voir si tu as mod_rewrite de apache de dans le phpinfo ( apaches modules il me semble )

par Ripat » 17 oct. 2005, 07:44

Il peut y avoir plusieurs causes:
  • Soit ton .htaccess n'est pas lu --> vérifier que tu as AllowOverride All pour ton répertoire de test. Pour tester, faire une erreur intentionnelle dans le htaccess. Si tu as une erreur 500 (Internal Server Error) c'est qu'il est bien lu.
  • Soit, le mod_rewrite ne fonctionne pas ou n'est pas installé (vérifier avec apache2 -l ou httpd -l en shell pour les modules compilés ou bien vérifier si le mod_rewrite n'a pas été chargé en module par un LoadModule rewrite_module dans un fichier de config d'Apache)
  • Soit, tout tourne correctement mais c'est ta règle de rewrite ne marche pas. Essaye une règle simple:

    Code : Tout sélectionner

    RewriteEngine On Options +FollowSymlinks # va réécrire toutes tes pages vers phpfrance.com RewriteRule ^(.*)$ http://www.phpfrance.com [L]

par Aurelie » 16 oct. 2005, 22:51

Non mais mon hebergeur l'utilise sur son dédié pour les sites de ses clients. C'est donc qu'il l'a (pour rappel mon site est hébergé sur le serveur dédié ovh d'un ami qui l'utilise à titre professionnel).

par fab » 16 oct. 2005, 12:29

est ce que tu as mod_rewrite de apache ?

Rewrite URL impossible :(

par Aurelie » 16 oct. 2005, 12:20

Bonjour à tous

Voilà, il y a quelques mois, j'ai changé mon site. En gros j'ai viré xoops et mis mon portail maison à la place (bientot fini).

Et il y a peu, j'ai découvert les redirections 301.

Mon site est hébergé sur le serveur dédié d'un ami chez ovh. Utilisant l'URL Rewriting pour les sites de ses clients, il m'a donné un exemple pour que je puisse le faire. mais ça ne marche absoluement pas :/
RewriteEngine on
RewriteRule ^modules/news/article.php?storyid=([0-9]*)$ actualite.php?id=$1 [R=301]
RewriteRule ^modules/newbb/$ forum/ [R=301]
RewriteRule ^modules/sections/article.php?storyid=([0-9]*)$ dossier.php?id=$1 [R=301]
RewriteRule ^actualite/article.php?storyid=([0-9]*)$ actualite.php?id=$1 [R=301]
Quelqu'un pourrait m'aider ? Parce que là ça ne marche absoluement pas :/