Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

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


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 12:49

Bonjour,

C'est peut-être une question farfelue, mais bon, je souhaite savoir si l'on peut effectuer une requête SQL dans un fichier .htaccess

En fait j'ai 800 pages à "rewriter" plus d'autres qui vont s'ajouter.
Je ne peux pas régler le problème en une ligne, c'est un script spécial, je ne peux pas le modifier.
Je dois écrire une règle pour chaque page (transformer "?record=11" en "nom-page.php" par exemple)
Je peux faire une requête pour avoir les 800 règles, puis les copier/coller et enfin ajouter au fur et à mesure les nouvelles règles pour les nouvelles pages. Mais c'est crade et fastidieux.

Alors je me demande si je ne pourrais pas glisser dans le .htaccess une requête SQL qui permette à l'aide d'une boucle while "d'écrire" automatiquement toutes les règles d'url-rewriting pour chaque page. :idea:

Qu'en pensez-vous :?:


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 12:52

Humpf... D'après ce que je lis ici, on ne peut pas, ce qui ne m'étonne guère :

http://forum.webrankinfo.com/rewrite-chiffre-une-chaine-est-possible-t67664.html


dmathieu
Modérateur
Modérateur
 
Messages: 6925
Inscription: Ven Jan 09, 2004 16:21

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 14:55

Je confirme : ce n'est pas possible.
En revanche tu peut générer le contenu du fichier en PHP et écrire son contenu dans le fichier .htaccess.


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 17:43

Je vais voir ça, merci pour ta réponse dmathieu.

Sinon, si dans le .htaccess je balance un ou deux milliers de lignes pour réécrire l'URL de chaque page, est-ce que ça va faire souffrir le serveur et ralentir l'affichage des pages ?


dmathieu
Modérateur
Modérateur
 
Messages: 6925
Inscription: Ven Jan 09, 2004 16:21

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 17:49

Inévitablement oui. Il faut le temps que Apache les lise.
Mais sauf si tu as 100k vu/j, c'est le genre de choses qui prends suffisamment peu de temps pour être négligée.

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 18:18

Pense qu'Apache relis tous les fichiers .htaccess présents dans l'arboresence à chaque requête... donc oui tu peux vite le faire souffrir :mrgreen:


1-sponsor
WRInaute impliqué
WRInaute impliqué
 
Messages: 343
Inscription: Ven Oct 27, 2006 12:29

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 19:22

dmathieu a écrit:Je confirme : ce n'est pas possible.
En revanche tu peut générer le contenu du fichier en PHP et écrire son contenu dans le fichier .htaccess.


dmathieu, tu n'aurais pas une url sous la main qui explique comme procéder... Si je comprend bien pour écrire un "htaccess" avec "php" ?

Parce que pour réécrire, par exemple, monhtaccess.php en ".htaccess", il faut déjà utiliser un htaccess pour le dire, qui se trouve dans notre répertoire racine... Du coup je deviens fou à essayer de comprendre comme on fait 8O :cry:

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 19:26

Le principe dont te parle "dmathieu" est de créer ton fichier .htaccess par un script PHP.
Tu fais simplement les opérations en PHP qui te permettent de récupérer les bonnes URLs etc., et tu enregistre ça dans un fichier qui s'appelle .htaccess avec la syntaxe qui va bien. PHP sait faire des opérations sur les fichiers...


dmathieu
Modérateur
Modérateur
 
Messages: 6925
Inscription: Ven Jan 09, 2004 16:21

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Sam Nov 07, 2009 22:51

@FloBoati exactement.

@1-sponsor
Code: Tout sélectionner
$content = "RewriteRule ^mapage$ mapage.php [L]";
file_put_contents('.htaccess', $content);


1-sponsor
WRInaute impliqué
WRInaute impliqué
 
Messages: 343
Inscription: Ven Oct 27, 2006 12:29

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Dim Nov 08, 2009 4:15

dmathieu a écrit:@FloBoati exactement.

@1-sponsor
Code: Tout sélectionner
$content = "RewriteRule ^mapage$ mapage.php [L]";
file_put_contents('.htaccess', $content);


Merci, on ne peut plus clair ! :mrgreen:


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Lun Nov 09, 2009 20:26

1-sponsor a écrit:
dmathieu a écrit:@FloBoati exactement.

@1-sponsor
Code: Tout sélectionner
$content = "RewriteRule ^mapage$ mapage.php [L]";
file_put_contents('.htaccess', $content);


Merci, on ne peut plus clair ! :mrgreen:


Attendez, ça a l'air intéressant votre truc, mais je n'ai pas tout compris.

Le code PHP là, je le place où ? En haut du header ? Et il fait quoi ce code ? Il génère la ligne qui devrait se trouver dans le .htaccess ?

Qu'est-ce qui se passe si j'écris cela en haut de header.php :
Code: Tout sélectionner
$content="RewriteRule ^([a-z-]+)\.htm$  /?article=$1 [QSA,L]";
file_put_contents('.htaccess', $content);


Et il va y avoir des histoires de chemin de fichier avec la fonction file_put_contents(), non ?


dmathieu
Modérateur
Modérateur
 
Messages: 6925
Inscription: Ven Jan 09, 2004 16:21

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Lun Nov 09, 2009 20:43

Tu place ce code php dans ton interface d'administration, lorsque tu crée une page par exemple.
Il modifie le fichier .htaccess une seule fois, quand une url est créée ou modifiée.

Surtout pas à chaque chargement de page.


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Lun Nov 09, 2009 20:55

Ah d'accord, mais au final, dans le .htaccess, il y aura tout de même autant de ligne qu'il n'y a d'url à réécrire. C'est ça ?

Ce n'est pas un système automatique, comme avec un .htaccess classique.

C'est juste pour éviter de modifier et d'uploader manuellement le .htaccess à chaque nouvelle page créée. J'ai bon ?


dmathieu
Modérateur
Modérateur
 
Messages: 6925
Inscription: Ven Jan 09, 2004 16:21

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Mar Nov 10, 2009 0:19

C'est exactement ça.
Il est impossible de mettre un quelconque langage serveur (php, python, ruby ou autre) dans le .htaccess.


Meeuuuhhh
WRInaute accro
WRInaute accro
 
Messages: 1795
Inscription: Lun Jan 08, 2007 21:48

Re: Peut-on faire une requête SQL et utiliser du PHP dans un .htaccess ?

Message le Mar Nov 10, 2009 18:17

Ok, merci pour le tuyau alors, je vais voir si je décide ou pas d'utiliser cette soluce.

Merci à toi et aux autres aussi en tout cas :)


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