URL Rewriting

10 réponses
AuteurMessage

erwinol |
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 31/01/2007 à 22:41

Bonsoir à tous,
J'ai honte de poser une telle question mais je me lance

Je suis entrain de me casser la tête sur un problème d'URL Rewriting.

J'ai un serveur dédié chez Sivit sur lequel mes règles fonctionnent à merveille, et un autre chez OVH sur lequel toutes les règles fonctionnent sauf les règles dont le répertoire de destination n'existe pas.

Lorsque le répertoire utilisé n'existe pas, la règle ne fonctionne pas ... tandis que sur mon serveur Sivit, ce type de règle est bonne.

Pour l'instant mon fichier .htaccess ressemble à ceci :


Options +FollowSymlinks
RewriteEngine on

##### xxxx.com vers www.xxxx.com
RewriteCond %{HTTP_HOST} !www.xxxx.com
RewriteRule ^(.*) http://www.xxxx.com/$1Ouvrir dans une nouvelle fenetre [R=301,QSA,L]
##### END

##### Réécriture d'URL
RewriteRule ^videos/toutes.html$ /videos/index.php [L]
RewriteRule ^videos/categories.html$ /videos/categories.php [L]
RewriteRule ^videos/(.+)\,([0-9]+)\.html$ /videos/index.php?cat=$1&page=$2 [L]
RewriteRule ^videos/(.+)\.html$ /videos/index.php?cat=$1 [L]
RewriteRule ^video/(.+)\,([0-9]+)\.html$ /videos/video.php?cat=$1&idvid=$2 [L]
##### Fin de réécriture d'URL


Le répertoire "videos" existe mais pas le répertoire "video", ce qui fait que la règle
RewriteRule ^video/(.+)\,([0-9]+)\.html$  /videos/video.php?cat=$1&idvid=$2  [L]

ne fonctionne pas.

Lorsque je crée le répertoire "video" vide, c'est ok.

Ma question est donc soit "Comment réécrire mon fichier htaccess pour que ça fonctionne ?" soit "Qu'est-ce que je dois modifier dans Apache pour qu'il fonctionne comme celui de mon serveur Sivit ?"

J'ai beau scruter les fichiers de config, je ne voit rien :/

Merci d'avance

(Message édité le 01-02-2007 à 19h58 par erwinol)

LePhasme | Guillaume
Membre

Photo de LePhasme

Inscrit le : 09/05/2005

# Le 01/02/2007 à 10:25

Juste comme ca sans pretention aucune, as tu essayer de retirer le / devant videos ou d'en mettre apres le ^ car moi je me suis pris la tete souvent a cause de connerie du genre. Etant donné que je pense que tu as pensé à cela, je me fais tout petit => .

Paris Apartments RentalsOuvrir dans une nouvelle fenetre Avertisseur Autonome de FumeeOuvrir dans une nouvelle fenetre ViadeoOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 01/02/2007 à 14:21

Oui j'ai testé ça.
A mon avis il n'y a pas d'erreur de syntaxe mais juste un détail à modifier dans la configuration d'Apache mais je ne trouve pas quoi.

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 01/02/2007 à 20:01

Sans répondre vraiment au problème, pour ma part je place ces règles dans les dossiers concernés quand c'est possible. Ca évite à Apache d'appliquer une centaine d'expressions régulières pour chaque hit HTTP concernant le site.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 01/02/2007 à 23:09

Dans ce cas-ci, je ne peux pas mettre ma dernière règles dans le répertoire "video" étant donné qu'il n'existe pas.

Bon, si même Bool n'a pas la réponse à la question ... je pense qu'il va falloir que j'abandonne cette règle

tonguide | Jeremy
Modérateur

 

Inscrit le : 09/05/2005

# Le 02/02/2007 à 00:57

J'suis pas trop Apache, mais faut faire des essais, je sais que j'ai installé certaines condition de rewrite, et sur 3 serveurs différents, j'ai du faire 3 versions différentes (souvent c'est pas grand chose) pour que ça marche pareil

Essai peut-etre "RewriteBase /" juste après "RewriteEngine on" ça m'avait déjà debuggué le rewrite une fois.

superfc | Florent
Membre

Photo de superfc

Inscrit le : 01/07/2006

# Le 02/02/2007 à 10:30

Bool a raison,
et les rêgles de urlRewriting sont testés sur tous les répertoires qu'elles parcourent.
Du genre :
/home/sites/xxxx.com/www/.htaccess
sera testé AVANT
/home/sites/xxxx.com/www/videos/.htaccess
Du coup, si "videos" n'existe pas, ça n'a aucune importance...

Florent Clairambault - http://florent.clairambault.frOuvrir dans une nouvelle fenetre
Gtalk : superfc@gmail.com

erwinol | Erwin
Membre

Photo de erwinol

Inscrit le : 09/05/2005

# Le 02/02/2007 à 20:40

J'ai finalement trouvé la solution. Ca se fait, comme je le pensais, dans le fichier httpd.conf.

Dans


<Directory />
Options Includes ExecCGI MultiViews FollowSymLinks Indexes
AllowOverride All
</Directory>


il faut changer MultiViews par -MultiViews

Ca donne ça :

<Directory />
Options Includes ExecCGI -MultiViews FollowSymLinks Indexes
AllowOverride All
</Directory>


Puis un peu plus bas dans

<Directory "/usr/local/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Changer AllowOverride None par AllowOverride All

ce qui donne


<Directory "/usr/local/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


Simple non ?

zehub | BENAICHA
Membre

Photo de zehub

Inscrit le : 21/12/2005

# Le 07/04/2007 à 12:56

Salut,

J'ai le même pb de rewriting sur mes serveurs OVH (j'ai pas de dédié, juste un 90Plan) et donc je n'ai pas accès aux fichiers Apache ... comment faire ?

DivertissementOuvrir dans une nouvelle fenetre , VoyagesOuvrir dans une nouvelle fenetre , VoituresOuvrir dans une nouvelle fenetre , CuisineOuvrir dans une nouvelle fenetre

Limit | Cyril
Membre

Photo de Limit

Inscrit le : 11/05/2005

# Le 07/04/2007 à 15:26

google ...

Forum GratuitOuvrir dans une nouvelle fenetre - Blog gratuitOuvrir dans une nouvelle fenetre

zehub | BENAICHA
Membre

Photo de zehub

Inscrit le : 21/12/2005

# Le 07/04/2007 à 15:39

En parcourant les forums d'OVH + de PHPBB (car il s'agissait d'un rewriting du forum), j'ai trouvé la réponse:

Il faut mettre les "Rules" dans le .htaccess à la racine du site et non dans le répertoire du forum comme c'est le cas chez d'autres hébergeurs. Ils sont assez spéciaux chez OVH :-)

DivertissementOuvrir dans une nouvelle fenetre , VoyagesOuvrir dans une nouvelle fenetre , VoituresOuvrir dans une nouvelle fenetre , CuisineOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 24/11/2024 16:42:34 | Généré en 8.05ms | Contacts | Mentions légales |