Aller au contenu

djp1988

Hubmaster
  • Compteur de contenus

    148
  • Inscrit(e) le

  • Dernière visite

Messages postés par djp1988

  1. Salut tout le monde !

    Je viens de migré mon site de GoDaddy vers DreamHost, sans faire de la pub je dois quand même dire que je suis impressionné !

    Voilà mais il y a une chose intéressant, c'est que mon fichier .htaccess et les réecritures url ne se comportent pas de la même façon que sur les serveurs GoDaddy, je comprends tout à fait que c'est surement du à un paramètre par défaut sur le nouveau serveur, mais je ne sais pas quoi faire pour redonner à mon site le même comportement qu'avant.

    Un exemple:

    je redirige les personnes de mon site de http://mydomain.com vers http://www.mydomain.com

    MAIS, sur DreamHost, la réecriture ajoute index.php

    Un autre exemple:

    J'ai une réecriture qui permet l'url suivant:

    www.mydomain.com/section

    => www.mydomain.com/section.html

    Mais la réecriture m'amene vers: www.mydomain.com/section.php

    Voici un extrait de mon htaccess, je serai reconnaissant d'avoir quelques points de vu sur ce qui cloche, juste un rappel donc sur GoDaddy tout fonctionner bien, donc à mon avis il y a un paramètre à changer, ce que j'ai déjà dan mon htaccess ne devrait pas être fausse...

    Merci :)


    Options -Multiviews
    Options +FollowSymlinks
    RewriteEngine on

    RewriteCond %{HTTP_HOST} ^http://mydomain.com$

    RewriteRule /?(.*) http://www.mydomain.com/$1 [R=301,L]

    RewriteRule ^(.*)\.html$ http://www.mydomain.com/$1.php [nc]

    RewriteRule ^section/$ /section [R]
    RewriteRule ^section$ /section.html

    Je pense que c'est a cause de cette ligne:

    RewriteRule ^(.*)\.html$ http://www.mydomain.com/$1.php [nc]

    On dirait qu'il me redirige vers le fichier php au lieu de rester sur .html et charger le fichier .php

    Dernier soucis, à cause de la redirection non-www vers www je peux pas aller sur mes sub-domain...

  2. Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^(fr|de|en|es)/(.*)$ http://www.monsite.com/$2?l=$1 [NC,QSA]

    RewriteEngine on
    RewriteRule ^(fr|de|en|es)/espece/([^_/]*)_([^_/]*)/$ /page.php?l=$1&g=$2&s=$3

    Voila donc dans un premier temps si j'ai un /fr/ dans l'url, j'ai envie d'ajouter sans qu'on voit la valeur get qui designe la langue choisis.

    Cela marche tres bien mais dans la seconde partie j'ai bien peur qu'il y a des conflits, puisque cette fois ci, j'ai un cas bien particulier, si on a l'url suivant:

    www.monsite.com/fr/espece/genre_espece

    J'ai envie de charger la page:

    www.monsite.com/page.php?l=fr&g=genre&e=espece

    Mais le htaccess que j'ai au dessus ne fonctionne pas pour cette deuxieme partie, et j'arrive pas a comprendre pourquoi, en effet j'ai une erreur 404, fichier non trouvé pour l'url /espece/genre_espece sur le serveur de www.monsite.com

    Et pourtant, j'ai bien une url qui correspond a la deuxieme partie de ma réecriture...

    C'est pour ca je pense que les deux RewriteRule sont en conflit puisque le premier prends tous les cas alors que le second est bien plus précis, que faire?

    Merci

  3. Salut, j'ai une reecriture d'url qui est le suivant:

    RewriteRule ^page/([a-zA-Z_-]+)_([a-zA-Z_-]+)/$ http://www.domain.com/page.php?g=$1&s=$2

    Donc l'url suivant:

    domain.com/page/un_mot

    va charger:

    domain.com/page.php?g=un&s=mot

    Jusqu'à la pas de probleme, mais le soucis c'est que les deux variables dans l'url sont crées à partir de données dans la base, et pour deux entrées, j'ai une chaine avec un point suivi d'une espace comme ca: "mot. mot"

    Donc mon url de depart est le suivant:

    domain.com/page/un_mot. mot

    ce qui se transforme dans le navigateur en:

    domain.com/page/un_mot.%20mot

    Et donc ceci genere une erreur, je voudrais savoir, que dois je faire pour que ca fonctionne? j'ai tout desuite penser que il faut ajouer 0-9 dans la partie de regex, mais je sais pas si la reecriture transfere le %20 puisqu'il s'agit d'une espace, donc je me suis dmenader s'il faut ajouter un reg ex pour les espaces? Et puis je me suis dit que le soucis etait le point, alors que suggerez vous?

    Quel est la regex pour un point?

  4. Oui ls m'ont dit la meme chose, donc il n'y a aucun moyen de compiler ceci sans etre en relation avec le serveur lui meme via le terminal? Enfin vous voyez ce que je demande....

    Alors la technique mod_expires pour augmenter la vitesse des sites n'est profitable pour ceux qui ont un serveur chez soit ou laors un serveur virtuel etc... c'est pas pour tout le modne quoi... ?

    A moins que, mes images que j'ai envie de caché, je les héberge quelque part ou mod_expires est compilé, et alors de cette façon, je garde mon hébergement et j'ai la technique mod_expires?

    Maisntenant il faut savoir où ce module est activé... !

  5. D'accord je vois que je dois aller modifier un ou deux choses pour la configurer, mais je n'ai pas access au serveur, je suis héberger chez godaddy, donc dans un .htaccess que dois je faire svp ?

    J'ai ajouter cela:

    <IfModule mod_expires.c>
    ExpiresActive on
    ExpiresDefault "access plus 2 years"
    </IfModule>

    Mais si j'ai bien compris le IF verifie si c'est activé, et il fait ce code que si c'est configurer, alors comment je verifies que ca a fonctionner?

    J'ai mis un gros fichier png et ca rechearge de zero a chaque fois, donc ca marche pas

  6. Bonjour, je voudrais savoir si quelqu'un connait une source pour un fichier sql qui insere dans une tables la liste des pays du monde en anglais, francais, espagnol et en allemand, c'est pour peuplé une liste de pays pour inscription et recherche sur mon site, j'ai actuellement trouvé pour anglais francais et espagnol mais le code du pays me convient pas vraiment, je chercher le code ISO (?) à 2 lettres, il y a anglais / francais avec 2 lettres mais je cherchais surtout l'allemand, voila si vous pouvez me donner une piste (avant qu'on em le dis, oui je sais que ca va sortir... j'ai deja chercher sur google, et je ne trouve pas mon bonheur)

    http://www.itu.int/cgi-bin/htsh/mm/scripts...amp;_f8=CHECKED

    http://files.codes-sources.com/fichier.asp...&f=pays.sql

  7. JE me renseigne sur le mod_expires de Apache, et j'ai pas encore trouver d'exemples ou le code destine à garder un seul fichier dans la memoire, je vois partout des codes tels que:

    <FilesMatch "\.(jpg|png|gif|js|css)$">
    Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
    </FilesMatch>

    Mais moi je ne veux que faire ceci pour certain fichiers tels que mes menus de navigation (en image) le contour des banieres (des png) mais pas forcément tous les fichiers du meme type....

    Est ce possible ?

  8. C'est bon, c'est étrange mais il s'et mis a fonctionner, mais pour expliquer l'histoire d'executable, d'apres mon experience si les fichiers .htaccess n'ont pas la permission "Execute" pour les 'autres' et la propriétaire, ce fichier s'execute pas sur le serveur...

    Ceci donne les permissions suivants pour le fichier .htaccess: rwx---r-x (705)

  9. Salut, mon fichier .htaccess est igniorer par mon serveur en ligne, en localhost tout se passe bien mais sur le net il marche pas, habituellement si je met sur le net un fichier .htaccess que j'ai creer sur mon ordi, il faut que je modifie les parametres pour le rendre executable, mais apres que j'ai fais ca il est toujrous ignioré, alors je comprends pas, pourtant j'héberge plusieurs sites dans des répertoires differents qui ont des fichiers .htaccess qui sont executé avec les memes parametres qeue celui qui fonctionne pas, donc l'errur ne peut pas etre au niveau du serveur et du fichier http.conf

    Aidez moi svp !!!

    Merci.

  10. Avec mon .htaccess, je cherche à détecter un /fr/ ou /en/ ou bien /de/ et aller chercher le fichier dont la suite de l'url indique en ajoutant ?l=<en | fr | de>

    Mais ce quej'ai fais ne marche pas, je ne sais pas pourquoi:

     RewriteRule ^([a-z])([a-z])/(.*)?(.*)$ http://www.domain.com/$3?l=$1$2&$4 [nc]

    Exemple:

    domain.com/fr/home.php?show=all&variable=valeur

    va chercher le fichier:

    domain.com/home.php?l=fr&show=all&variable=valeur

    mais je n'arrive pas à generer $4, ce que je trouve logique parceque $3 est (.*) donc logiquement ca va jusqu'à la fin, mais comment j'utilise le regex pour s'arreter à un "?"

     RewriteRule ^([a-z])([a-z])/(.*!?)?(.*)$ http://www.domain.com/$3?l=$1$2&$4 [nc]

    Ca ne marche pas...

    Alors je vais devoir avoir deux lignes de code un pour gerer s'il y a des valeurs get et l'autre s'il y a pas de "?"

     RewriteRule ^([a-z])([a-z])/(.*!?)?(.*)$ http://www.domain.com/$3?l=$1$2&$4 [nc]

    RewriteRule ^([a-z])([a-z])/(.*!?)$ http://www.domain.com/$3?l=$1$2 [nc]

    Quel est la bonne methode pour soit exclure le caractere "?" de (.*) ou alors la bonne methode pour inclure un "." et un "/" dans un ([a-zA-Z0-9_-])

  11. Merci, en tout cas ce SQL marche tres bien en ce qui concerne le resultat donné, c'était le MAX() dans ORDER BY, je ne savais pas que l'on pouvait l'utiliser ailleurs que dans SELECT...

    Merci beaucoup

  12. J'ai un soucis au niveau d'un sql, donc pour simplifier:

    2 tables:

    SUJET

    -id

    -nom

    ARTICLES

    -id_a

    -nom_a

    -ref_sujet

    -temps_sec

    temps_sec est le chiffre générer par le fonction php date('U');

    Je voudrais finir avec un résultat qui montre les 5 derniers sujets donc il y a les nouveaux articles, exemple:

    NOM | dernier ajout

    ---------------------------

    SUJET 1 | 1234216544

    SUJET 5 | 1234216344

    SUJET 16 | 1234206523

    SUJET 2 | 1234212213

    SUJET 6 | 1234210235

    SELECT nom, temps_sec

    FROM sujet, articles

    WHERE sujet.id = articles.ref_sujet

    GROUP BY id

    ORDER BY temps_sec DESC

    LIMIT 0,5

    La ou je coince c'est au niveau d'un GROUP BY, parceque le temps_sec est associé à chaque article, ce que je veux c'est retenir la valeur MAXimale de chaque ref_sujet, donc qui va me permettre de voir dans quels sujets j'ai les articles les plus récents.

    Ce que fais le GROUP BY c'est prendre une valeur au hasard parmi les valeurs qu'il dispose dans "le lot" lors de son groupage.

    Donc quand je ORDER BY selon cette valeur, j'aid es resultats fausses...

    Je pense pouvoir contourner ce probleme avec un JOIN, mais je ne sais pas comment, ce qu'il me faut c'est faire mon GROUP BY comme avant, mais pour chaque valeur de SUJET.ID trier la MAX(temps_sec) parmi un SELECT temps_sec FROM articles WHERE ref_sujet = <le_sujet>

  13. Salut,

    J'ai un soucis avec un div, voici un screen:

    On voit que j'ai mis un trait la ou les 250 pixels de largeur s'arretent, et alors le url en bas pousse la largeur, avec un script php je retiens 150 ou 200 caracteres suivi de 3 petits point, maisici le mot est trop long

    Picture-1.jpg

    ou encore:

    Picture-3.jpg

    Ca doit ressembler à ceci:

    Picture-2.jpg

    Ce que j'aimerai savoir c'est, comment éviter ca? je cherche quelque chose qui forcerai la coupure d'un mot si il est plus long que la largeur de son div parent

  14. Merci, vous savez quand c'est sous mon nez ca a l'air tres simple (pas pour join) mais il faut vraiment que je me creuse la tete pour me familiarisé avec join et d'autres techniques plus avancés en sql.

    Vous voulez rigolez? Voici comment je traitez mon probleme avant d'avoir votre réponse:

    	$sql = 'SELECT * FROM t1';
    $result = mysql_query ($sql, $dbc);
    $total1=@mysql_num_rows($result);
    $sql = 'SELECT *
    FROM t1, t2
    WHERE t1.id = t2.ref
    GROUP BY ref';
    $result = mysql_query ($sql, $dbc);
    $total2=@mysql_num_rows($result);

    if($total1 == $total2){
    echo 'Tous sont representees';
    }else{
    $sql = 'SELECT * FROM t1';
    $result = mysql_query ($sql, $dbc);

    echo '<ul>';
    while($row = mysql_fetch_array ($result, MYSQL_BOTH)){
    $ref = $row['id'];
    $sql3 = "SELECT *
    FROM t1, t2
    WHERE t1.id = t2.ref
    AND ref = $ref";
    $result3 = mysql_query ($sql3, $dbc);
    $total3=@mysql_num_rows($result3);
    if($total3 == 0){ // pas dans la t2
    $sql4 = "SELECT * FROM t1 WHERE id = $ref";
    $result4 = mysql_query ($sql4, $dbc);
    $row4 = mysql_fetch_array ($result4, MYSQL_BOTH);
    $nom = $row4['nom'];
    echo '<li>'.$nom.'</li>';
    }
    }
    echo '</ul>';
    }

    Donc 2 sql pour comparer si tous les noms sont representees, si c'est pas le cas, on sql pour tous les noms, et dans une boucle on verifie si le sql cherhant un lien entre les 2 tables renvoie un ou plusieurs lignes en resultat, si elle renvoie rien, c-a-d que ce nom n'a pas de ref dans la t2, alors on REfais un sql avec la 'id' de celui ci dans la t1 pour recuperer leur nom pour l'afficher dans une liste..... ouf.... ou alors, on fais :

    SELECT nom FROM t1 WHERE id NOT IN (SELECT DISTINCT ref FROM t2)

    MERCI BEAUCOUP

  15. J'ai ces tables:

    id | nom

    1 | daniel

    2 | mike

    3 | dan

    et un autre:

    id_2 | ref

    1 | 1

    2 | 1

    3 | 3

    4 | 1

    j'aimeri un sql pour m'afficher les noms du premier tableau de ceux qui n'apparaisent pas dans la deuxieme tableau en reference, c'est a dire:

    'mike'

×
×
  • Créer...