Rewriting & Extensions

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

SliderRed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 4 Sep 2008

Rewriting & Extensions

Message le Jeu Sep 04, 2008 11:27

Bonjour,

je voudrais réécrire une url de la forme

http://site.com/index.php?page=xxx en http://site.com/xxx/

la règle suivante fonctionne sous EasyPHP 1.8
mais elle ne fonctionne pas sous Apache2 ou chez OVH

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^(.+)/$ index.php?page=$1 [L]

Extrait des logs sous apache2

add path info postfix: /var/www/histoire.php -> /var/www/histoire.php/
strip per-dir prefix: /var/www/histoire.php/ -> histoire.php/
applying pattern '^(.+)/$' to uri 'histoire.php/'
rewrite 'partenaires.php/' -> 'index.php?page=histoire.php/'
split uri=index.php?page=histoire.php/ -> uri=index.php, args=page=histoire.php/

Extrait des logs sous EasyPHP

add path-info postfix: c:/program files/easyphp1-8/www/histoire -> c:/program files/easyphp1-8/www/histoire/
strip per-dir prefix: c:/program files/easyphp1-8/www/histoire/ -> histoire/
applying pattern '^(.+)/$' to uri 'histoire/'
rewrite histoire/ -> index.php?page=histoire
split uri=index.php?page=histoire -> uri=index.php, args=page=histoire

1ère Question: Comment enlever l'extension de l'url rewriting qui est automatiquement ajoutée
2ème Question: Comment faire fonctionner ces deux formes d'url http://site.com/xxx/ & http://site.com/xxx

Merci d'avance :)


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Message le Jeu Sep 04, 2008 13:15

la solution pour la question 1 est peut-être là : -http://www.urlrewriting.fr/scripts39-Snipet.html

en résumé essaye avec :
Code: Tout sélectionner
Options -Multiviews  +FollowSymlinks
RewriteEngine On
RewriteRule ^(.+)/$ /index.php?page=$1 [L]
RewriteCond $1 !^index\.php$
RewriteRule ^(.+)$ /$1/ [L,R=301]

SliderRed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 4 Sep 2008

Message le Jeu Sep 04, 2008 14:04

Merci pour ta réponse

Code: Tout sélectionner
Options -Multiviews  +FollowSymlinks
RewriteEngine On
RewriteRule ^(.+)/$ /index.php?page=$1 [L]
RewriteCond $1 !^index\.php$
RewriteRule ^(.+)$ /$1/ [L,R=301]

le code fonctionne mais le css n'est plus appliqué (ni css ni image).

Code: Tout sélectionner
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteRule ^(.+)/$ /index.php?page=$1 [L]

Fonctionne parfaitement (Q1)

Finalement j'ai trouvé
Code: Tout sélectionner
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteRule ^styles/(.+)$ styles/$1 [L]
RewriteRule ^media/(.+)$ media/$1 [L]
RewriteRule ^(.+)/$ /index.php?page=$1 [L]
RewriteCond $1 !^index\.php$
RewriteRule ^(.+)$ /$1/ [L,R=301]


Si y a mieux je suis ouvert à toutes propositions ;)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités