GuppY URL Rewriting

Nouveau WRInaute
Bonjour,
Je rente actuellement l'URL Rewriting d'un de mes sites sous GuppY
pour débuter les articles une fois les articles réussi je recopierais les fonctions pour les autres pages.
Je vais mettre ici mon actuel htaccess :

Code:
#debut htaccess origine GuppY
<Files ~ "^\.ht">
 Order allow,deny
 Deny from all
 Satisfy All
</Files>
<Files ~ "^.*\.(inc|dtb)">
Order allow,deny
Deny from all
Satisfy all
</Files>
#gestion des erreurs
ErrorDocument 400 http://www.niederentzen.fr/error.php?err=400
ErrorDocument 401 http://www.niederentzen.fr/error.php?err=401
ErrorDocument 403 http://www.niederentzen.fr/error.php?err=403
ErrorDocument 404 http://www.niederentzen.fr/error.php?err=404
ErrorDocument 500 http://www.niederentzen.fr/error.php?err=500
#fin htaccess origine GuppY
#
#
Options +FollowSymlinks
#
#Reecriture URL pour eviter les URL sans www
RedirectPermanent http://niederentzen.fr http://www.niederentzen.fr
#
#Reecriture URL 
#RedirectPermanent ^articles.php?lng=([fr|en]+)&pg=([0-9]+)\ article-$1-$2.html$
#
#
#debut de la Reecriture
RewriteEngine On
#Reecriture articles
RewriteRule ^article-([fr|en]+)-([0-9]+)\.html$  articles.php?lng=$1&pg=$2  [L]
#
#Reecriture URL pour eviter les URL sans www
RewriteCond %{HTTP_HOST} ^niederentzen.fr$
RewriteRule ^(.*)   http://www.niederentzen.fr/$1  [QSA,L,R=301]
#
#renvoi navigateur lynx sur page totalement texte
RewriteCond  %{HTTP_USER_AGENT}  ^Lynx.*
RewriteRule  ^/$    /mobile/index.php  [L]
#
#
#
#anciens modes plus utilisée
#RewriteCond %{HTTP_HOST} ^niederentzenfr.fr$ [NC]
#RewriteRule ^(.*)$ http://www.niederentzen.fr/$1 [R,L]
#RewriteCond %{HTTP_HOST} ^www.niederentzenfr.fr$ [NC]
#RewriteRule ^(.*)$ http://www.niederentzen.fr/$1 [R,L]
#Redirect permanent http://niederentzen.fr http://www.niederentzen.fr

le souci vient à l'activation de la ligne

Code:
#RedirectPermanent ^articles.php?lng=([fr|en]+)&pg=([0-9]+)\ article-$1-$2.html$

erreur 500
Je pense que je me suis mal demerdé, comment rediriger tous les apels vers la page PHP vers les HTML ?

Merci.[/quote]
 
Nouveau WRInaute
Bonjour,
je vais expliquer pour quoi cette ligne.
dans Google mes pages sont indexées avec .php et je veux les renvoyer en auto vers la page HTML de plus ça m'évite de toucher au moteur du CMS.

:D
 
WRInaute accro
commence deja par mette ta regle dans le bon sens :

Code:
RewriteRule  article-([fr|en]+)-([0-9]+).html$  articles.php?lng=$1&pg=$2 [R=301,L]

Le flag R=301 , c'est la redirection permanante
 
Nouveau WRInaute
Bonjour,
Je débute en rewriting. Je suis chez celeonet.

Ta ligne ne passe pas, erreur 404 et R=301 mis a la fin de ma ligne d'origine idem erreur 404.
:D
 
WRInaute accro
reesaye:

Code:
RewriteRule  article-([fr|en]+)-([0-9]+)\.html$  articles.php?lng=$1&pg=$2 [L]

si ca ne marche pas, donne moi l'url de depart et celle d'arrivée.
 
WRInaute accro
lol

Code:
#debut de la Reecriture 
RewriteEngine On 
#Reecriture articles 
RewriteRule ^article-([fr|en]+)-([0-9]+)\.html$  articles.php?lng=$1&pg=$2  [L]

C'est deja dans ton code en fait !! que veux tu faire au juste ?
 
WRInaute accro
RVW a dit:
Bonjour,
oui en php la page est écrite comme ça.
pour quoi le lol ? j'ai dit une betise ?

que vient faire cette ligne ici:
Code:
#RedirectPermanent ^articles.php?lng=([fr|en]+)&pg=([0-9]+)\ article-$1-$2.html$

c'est toi qui l'a ecrite ? le RedirectPermanent n'accepte pas les expressions regulieres donc elle est fausse et en plus elle est ecrite a l'envers.

L'equivalent bien réécrit est déja dans ton code de depart. C'est pour ca que j'ai fait "lol"

Code:
#debut de la Reecriture 
RewriteEngine On 
#Reecriture articles 
RewriteRule ^article-([fr|en]+)-([0-9]+)\.html$  articles.php?lng=$1&pg=$2  [L]
 
Nouveau WRInaute
Bonjour,
Je dois m'être mal exprimé, je vais tenter d'être plus clair.
L'appel d'URL html fonctionne grace à ma règle.
la ligne en commentaire #
est celle qui ne fonctionne pas. je vais tenter d'expliquer quel est son interet.
Le site à un certain age, et est asser bien référencé dans Google.
Les pages référencées par Google sont les php
Je cherche une technique pour que les personnes venant par une page php soient redirigés vers l'équivalente html.
:D
le souci étant le risque de boucle. c'est cet élément que je cherche à modifier et à placer au bon endroit.
:D
 
Nouveau WRInaute
Bonjour,
y a t'il qu'elque chose de stupide dans ma question ? car là plus de réponses, et je cherche sans y arriver comment redirriger les appels php vers les HTML.

:D
 
WRInaute accro
RVW a dit:
Bonjour,
y a t'il qu'elque chose de stupide dans ma question ? car là plus de réponses, et je cherche sans y arriver comment redirriger les appels php vers les HTML.

:D

Perso je t'ai posé plusieurs questions au fil du topic auquel tu n'as pas repondu. Difficile de t'aider car tu as du mal a voir ton probleme. Si tu arrive a poser ton probleme clairement, je re...
 
Nouveau WRInaute
Ok,
Je vais tenter d'être plus clair.
Mon code :
Code:
#debut de la Reecriture
RewriteEngine On
#Reecriture articles
RewriteRule ^article-([fr|en]+)-([0-9]+)\.html$  articles.php?lng=$1&pg=$2  [L]
Fonctionne super, je peu appeler mes pages avec la page html.
mais mes articles sont référencé dans les moteurs avec une structure de type :
articles.php?lng=fr&pg=513
Ce que je cherche à faire :
quand une personne appelle articles.php?lng=fr&pg=513 cela le renvoi sur article-fr-513.html de façon automatique.
ce qui m'a donné l'idée du
Code:
#Reecriture URL
RedirectPermanent ^articles.php?lng=([fr|en]+)&pg=([0-9]+)\ article-$1-$2.html$
#
Mais cela plante le serveur.
Je cherche donc un automatisme de transcription pour que les pages référencées n'arrivent pas en erreur mais transfèrent vers la même page en .html.

En schématique
Google fait un lien =>articles.php => Htaccess transforme en article.html

Si ce n'est pas possible dites le que j'arette de chercher, un mouton à 5 pattes.
:D
 
WRInaute accro
Tout c'clair !!

Je comprend ton probleme, tu veux rediriger les annciennes urls qu'il y a dans les moteurs vers les nouvelles.

1° tu n'est pas obligé de le faire, car les moteurs vont tres bien comprendre que l'ancienne url est morte et qu'ils doivent suivrent les nouvelles.

2° Mais on peut rediriger (c'est + clean et la reindexation va + vite), mais pas en .htaccess, car ca va boucler. Il faut le faire en php

3° voici le code php. Tu le met tout en haut dans ton header. Tu dois avoir les globals a on, sinon je te le laisse le soin de les recuperer.

Code:
<?php
$uri = $_SERVER["REQUEST_URI"];
$var = strstr ($uri,'articles.php?lng');
if($var != FALSE)
      {
header("Status: 301 Moved Permanently");
header("Location: ".$_SERVER['HTTP_HOST']."/article-$lng-$pg.html");
      }
?>
 
Discussions similaires
Haut