8768 sujets

Développement web côté serveur, CMS

Pages :
Bonjour,

J'ai utilisé Boilerplate jusqu'a présent pour démarrer mon projet web mais je n'avais pas utilisé le .htaccess. Là je viens de récupérer le projet complet de Boilerplate et mis en ligne, sur mon site, ce fichier .htaccess.

Maintenant, il est impossible de s'y connecter avec un navigateur, j'ai une erreur 500 en permanence qui s'affiche.

Connaissez-vous ce problème ou cette configuration de Boilerplate ? Que dois-je supprimer / changer ?

Merci.
Hello

le .htaccess permet de modifier les directives apache...

tous les hébergemnts en permettent pas de tout faire.

donc prend ton .htaccess

met un # devant chaque ligne

puis sauve (transfert ftp)

regarde ton site

ensuite enlève les # pour chaque directive ou groupe de directive.. quadn tu aura à nouveau l'erreur 500 remet le # et ainsi de suite...

tu trouvera ce que ton serveur n'accepte pas
Euh... Comment dire ? Smiley eek

C'est juste impossible, je fichier fais plus de 900 lignes. Certes, il y a beaucoup de commentaires mais avec cette méthode j'en ai pour l'année Smiley smile

Il n'y a pas de directive susceptible de causer ce genre de problème de droits ?
Tiens, ne serais pas ce genre de chose ?

<IfModule mod_autoindex.c>
    Options -Indexes
</IfModule>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
    RewriteCond %{SCRIPT_FILENAME} -d [OR]
    RewriteCond %{SCRIPT_FILENAME} -f
    RewriteRule "(^|/)\." - [F]
</IfModule>

<FilesMatch "(^#.*#|\.(bak|conf|dist|fla|in[ci]|log|psd|sh|sql|sw[op])|~)$">

    # Apache < 2.3
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>

    # Apache ? 2.3
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>

</FilesMatch>

<IfModule mod_headers.c>
    Header set X-Content-Type-Options "nosniff"
</IfModule>


Mon précédent post m'a donné l'idée d'allez voir la partie security.
mmm oui long forcément

là il y a des if sur les .c présents pour lancer des conditions ou non :s

NORMALEMENT ça devrait être pris en compte

mais bon...

le rewrite par défaut est sur tous les hébergements

j'ai un doute avec le filesmatch
peut être une piste à explorer
arg.. donc ce serait pas ton ht access... ou alors c'est encore ailleurs :s


est ce que si tu poses ceci dans ton index.php ça te donne l'ereur ???

error_reporting(E_ALL ^ E_NOTICE);
ini_set('display_errors','1');
Alors je n'ai pas de index.php, mon site est "statique", généré avec Jekyll mais j'utilise du PHP pour la page de contact car il y a quand même PHP disponible sur le serveur.

J'ai d'ailleurs un post ouvert sur ce sujet, si ça te dis de regarder Smiley smile
Parce que je n'est toujours pas résolu ce problème.

Sinon, cela vient forcement du .htaccess car quand je le supprime, tout marche. J'essaye comme tu m'as dis, c'est à dire que pour le moment j'essaye d'isoler certaines parties de code. Pour le moment, sans succès.

Je vais coller ton code dans un fichier et je fais un retour ici dans quelques minutes pour te dire ce qu'il se passe, fichier htaccess supprimé par contre.
Voici ce que m'affiche le site :

error_reporting(E_ALL ^ E_NOTICE); ini_set('display_errors','1');


Faut-il un php.ini quelque part sur le site pour que le code PHP soit exécuté correctement ?
ah bah oui non forcément faut que ce soit un ficheir en php Smiley smile
ok donc si t'es en statique c'est en effet ton htaccess

alors il va falloir forcément debugger le htaccess... en enlevant au fur et à mesure ou alors en posant au fur et à mesure Smiley smile
Je vais prendre le problème autrement.

J'ai cette erreur de Google (outil de test) :

Exploiter la mise en cache du navigateur
Si vous définissez une date d'expiration ou une durée de validité maximale pour les ressources statiques dans les en-têtes HTTP, vous indiquez au navigateur d'aller chercher les ressources déjà téléchargées sur le disque local plutôt que sur le réseau.
Exploitez la mise en cache du navigateur pour les ressources suivantes pouvant être mises en cache :
 http://www.google-analytics.com/analytics.js  (2 heures)


Que dois-je faire, à votre avis pour prendre en compte le cache et régler ce problème ?

Merci.
Bonjour,

Dans le .htaccess de Boiterplate je vois plusieurs RewriteRule. Celui que vous avez montré au niveau "SECURITY" (donc lignes 526-532 à ce jour en cette version du 26/10/2014), mais il reste encore 5 autres commandes RewriteRule dans le fichier. À explorer peut-être...

Pour le cache, toujours dans votre fichier .htaccess, vous avez une section "Expires headers" qui paramètre le temps de mise en cache de vos fichiers côté client en passant les informations au header HTTP. Voir peut-être de ce côté.
Merci pour ta réponses. Je viens de tous les commenter mais j'ai toujours l'erreur 500.

Je viens de supprimer section par section (quand j'en supprime une je remet l'autre histoire d'isoler et de trouver le coupable). Rien à faire. Donc il y a sans doutes plusieurs lignes à commenter.

Je continu les investigations.

D'ailleurs, comment puis-je prendre connaissance des modules installés sur le serveur ?
J'ai regardé l'interface admin et j'ai (a priori) rien vu de tel.
Modifié par MagicCarpet (15 Feb 2015 - 11:54)
Alors maintenant ça fonctionne, je n'ai plus l'erreur 500 et j'ai pu garder le fichier htaccess mais j'ai commenté les lignes suivantes (aucune idée de leurs significations) :

Options -MultiViews


Et :

<IfModule mod_rewrite.c>

    # (1)
    RewriteEngine On

    # (2)
    Options +FollowSymlinks

    # (3)
    # Options +SymLinksIfOwnerMatch

    # (4)
    # RewriteBase /

    # (5)
    # RewriteOptions <options>

</IfModule>


Par contre, je réitère ma question :

Comment puis-je prendre connaissance des modules installés sur le serveur ?
J'ai regardé l'interface admin et j'ai (a priori) rien vu de tel.

Et pour finir, sur le test Google, j'ai toujours ce message :

Exploiter la mise en cache du navigateur
Si vous définissez une date d'expiration ou une durée de validité maximale pour les ressources statiques dans les en-têtes HTTP, vous indiquez au navigateur d'aller chercher les ressources déjà téléchargées sur le disque local plutôt que sur le réseau.
Exploitez la mise en cache du navigateur pour les ressources suivantes pouvant être mises en cache :
 http://www.google-analytics.com/analytics.js  (2 heures)
Masquer les détails


Si vous avez une idée de ce que je dois faire pour régler ce problème, ça serais très appréciable.

Merci.
Salut MagicCarpet,


L'outils Google te donne les éléments qui pourrait être optimisés pour le cache, il est possible de les régler dans la partie "Expires headers" du fichier .htaccess (ligne 802 dans la version actuelle du fichier d'origine) :
# ----------------------------------------------------------------------
# | Expires headers                                             
# ----------------------------------------------------------------------


Sauf que là...
Exploitez la mise en cache du navigateur pour les ressources suivantes pouvant être mises en cache :
  http://www.google-analytics.com/analytics.js   (2 heures)

En clair : l'outil de Google te signale que l'une de ses propres ressource n'est pas optimisée... Celle-ci est hébergée sur le nom de domaine de Google Analytics, ce problème est connu.

Donc tu ne peux rien y faire, à moins de copier cette ressource et de l'héberger sur ton propre site (et donc de changer ton code Google Analytics pour qu'il corresponde). En plus, il faudrait être sûr que cette ressource n'évolue pas. Le jeux en vaux-t-il la chandelle ? Moi je dis non...
Modifié par Olivier C (16 Feb 2015 - 06:04)
Bon... Merci Google Smiley smile

Alors vu que tu as l'air de connaitre les messages du tests et comme je ne peux pas non plus améliorer l'erreur qu'il me sort sur mes images (en gros avoir mes images de background à 30ko, ce qui est impossible), est-ce que tu aurais une solution pour ce message :

Éliminer les codes JavaScript et CSS qui bloquent l'affichage du contenu au-dessus de la ligne de flottaison
Votre page contient 3 ressources de script et 1 ressources CSS qui bloquent l'affichage de votre page, et donc le retardent.
Aucune partie du contenu situé au-dessus de la ligne de flottaison sur votre page n'a pu être affichée avant que le chargement des ressources suivantes n'ait été terminé. Essayez de différer le chargement des ressources qui bloquent votre page, de les charger de manière asynchrone, ou d'intégrer les parties essentielles de ces ressources directement dans le code HTML.
Supprimez les ressources JavaScript qui bloquent l'affichage :
 https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js
 
 http://site.com/js/main.min.js
 
 http://site.com/js/home.min.js
 
Optimisez l'affichage des styles CSS pour les URL suivantes :
 http://site.com/css/app.min.css


Sinon merci pour ta réponse et les précisions qui vont avec.
Modifié par MagicCarpet (16 Feb 2015 - 20:23)
Et bien, la première... est encore une ressource Google...

Quand aux autres, tu pourrais les passer en mode asynchrone ou autre. Mais si ces .js sont nécessaires à l'amélioration de ton affichage il ne faudra pas forcément. À tester.

PS : moi aussi, quand j'ai découvert ces outils d'optimisation, j'étais à la moindre recherche de vitesse. Mais attention, ces outils ne sont que des outils : ils disent ce qui ralentit le site, mais il ne faut pas oublier que certains fichiers sont nécessaires, bien que pesant un certains poids. Un site vide de tout scripts et de tout styles sera évidement plus optimisé puisque rien ne sera "au dessus de la ligne de flottaison" du site. Mais au final, est-ce le but ? D'ailleurs, teste un site Google avec ses propres outils pour voir... Bref, ce que je veux dire, c'est qu'il faut user de ces outils mais ne pas en abuser.
Modifié par Olivier C (16 Feb 2015 - 18:45)
Alors déjà je ne cherche pas plus de vitesse mais juste à "remonter" mon score sur les outils. Je ne sais pas si ça a une incidence ou non mais j'avais en tête d'améliorer tout cela me disant que, peut-être, je pouvais faire mieux. J'ai un score de 64 au plus bas, ça fais mal aux fesses Smiley smile
(de plus, c'est la seule erreur est rouge)

Surtout que je ne peux rien y faire.

L'attribut async, j'y ai bien pensé et même essayé mais là encore c'est impossible.

jQuery, je le prends usr un CDN, exprès mais tous les autres scripts en ont besoin.
Ensuite tu as mon script principal qui en regroupe en fait plusieurs (contaténé, gruntifié et linté).

Par contre, non, je n'ai pas testé des sites Google avec leurs outils Smiley smile

Merci en tout cas pour tes réponses.
Magic.. si tu veux un audit 'relativement' correct avec des recommandations, on va dire constructives, je ne peux que te conseiller : https://www.dareboost.com/fr/home

qui a justement déjà été mis en avant sur alsa Smiley cligne

l'analyse est plutôt pas mal et bien ciblée Smiley smile

tu pourras donc juger de ce que tu peux/veux améliorer ou non Smiley cligne
Ah beh super, merci pour ce lien. En fait il me dit quelque chose, je me demande si je l'ai pas perdu au fin fond de mes signets.

Bon, le score est de 92/100, ce qui est pas mal mais par contre il me dis que je ne suis pas HTML ni CSS ? Euh, pourtant je passe la validation HTML5...

D'ailleurs je n'ai pas d'erreur dans la console du navigateur, enfin qu'une et encore, pas toujours.

D'ailleurs ça me donne une question, ces erreurs proviennent certainement de Bootstrap, un moyen pour les éviter ?
Modifié par MagicCarpet (17 Feb 2015 - 00:12)
Pages :