Maison  >  Questions et réponses  >  le corps du texte

Une fois l'installation de Symfony terminée, vous entrez dans la page d'accueil, mais le style CSS n'est pas rendu.

Affichage des effets

PHP中文网PHP中文网2713 Il y a quelques jours622

répondre à tous(4)je répondrai

  • 習慣沉默

    習慣沉默2017-05-16 16:46:32

    Cela devrait être dû au fait que le fichier CSS n'existe pas. Vérifiez s'il existe des ressources CSS maintenant

    .

    répondre
    0
  • 漂亮男人

    漂亮男人2017-05-16 16:46:32

    Je dois dire vous, les programmeurs. . .

    Divers systèmes dont symfony, système wiki,
    De plus, wordpress, inews, etc. peuvent écrire l'adresse sous la forme /index.php/M/V/C, ou /M/V/C.html,
    Il est normal que le CSS ne s'affiche pas dans certains cas, et la raison en est, du point de vue du front-end, que 99 % du temps, le CSS est introuvable.
    WordPress utilise les polices Google et la page ne s'affiche pas pendant longtemps. C'est un autre sujet.

    En arrière-plan, certains systèmes fourniront des solutions, comme CI, qui s'écrit /index.php/M/V/C. Ce type trouvera du CSS C'est parce que CI lui-même est plus consciencieux. (C'est peut-être le cas. J'ai regardé le manuel de CI il y a quelques jours et je me souviens vaguement de cette implémentation.) Il y a aussi beaucoup d'autres choses qui seront implémentées, pas seulement CI.
    Le principe d'implémentation est /index.php/css/template.css. Il transmettra /css/template.css comme paramètre à index.php, puis utilisera PHP pour le lire.

    Certaines choses sont un peu délicates
    Il souhaite utiliser rewrite mais index.php ne fournit pas cette méthode, ce qui conduit directement à /index.php/css/template.css Les paramètres transmis ne fonctionnent pas, ce qui conduit directement au fait que le CSS ne soit pas affiché.
    Par exemple : mediawiki, quelqu'un a installé mediawiki dans les premiers jours, mais n'a pas fait de réécriture, donc il ne s'afficherait pas.

    Certains logiciels serveur, tels que nginx, transmettent dans certains cas des paramètres par défaut,
    Par exemple, lors de la visite de www.test.com/M/V/C, nginx l'analysera dans www.test.com/index.php/M/V/C, et affichera ceux qui ont conscience.
    Bien sûr, certains recherchent bêtement le répertoire M/V/C du répertoire du serveur, et bien sûr 403/404.

    J'ai tellement dit ci-dessus,
    Si vous ne comprenez pas, pensez simplement que je parle à moi-même. Voici les points clés, analysant ce problème en profondeur.

    Le point clé est :

    Mécanisme de réécriture, ou réécriture.
    Généralement, ceux qui écrivent PHP auront de l'expérience, et le site Web aura certainement un grand nombre de paramètres, tels que www.bbs.com/forum.php?mod=forumdisplay&fid=25

    Mais certains sites php ne l'ont pas. Par exemple, si vous visitez discuz, http://www.discuz.net/forum-10-1.html, cette page d'exemple, le répertoire racine du site Web ne l'aura certainement pas. forum-10-1.html, car d'une part, il peut être dangereux si le répertoire racine dispose des autorisations d'écriture, et d'autre part, ce fichier doit être mis à jour en temps réel, ce qui signifie que cela équivaut à revenir à l'époque où les fichiers texte ont été utilisés comme bases de données. Le disque dur est soumis à une forte pression et tombe en panne rapidement.

    Bien sûr, que dois-je faire si ce fichier n'existe pas ?

    Bien sûr, le logiciel serveur nginx/lighttpd/apache sera utile à ce moment-là.
    Apache est le plus simple. La plupart des systèmes auront un fichier .htaccess pour vous. Il vous suffit de déposer ce fichier dans le répertoire racine du site Web.
    On dit que nginx peut également utiliser des fichiers .htaccess, mais je ne les ai jamais utilisés. Ils sont tous configurés manuellement.
    lighttpd doit être configuré manuellement.

    Vous accédez maintenant à ce fichier,
    Par exemple, lorsque nginx, la patronne, recevra cette demande, elle dira certainement au monde extérieur : "Oh non, tout le monde est là. Arrêtez de travailler et asseyez-vous un moment, elle vous servira du thé immédiatement, puis." demandez immédiatement au serveur de le préparer.
    Lorsque le serveur vit que la propriétaire voulait servir du thé, il alla préparer des feuilles de thé et de l'eau bouillante.
    Le gars ici est naturellement le module de réécriture de nginx.
    Comment écrire le module nginx : (Voici une réécriture de la page http://www.discuz.net/thread-998595-1-1.html)

    rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=&extra=page%3D&page= last;
    

    La fonction de la ligne de code ci-dessus est,
    Toute URL de ce type http://www.discuz.net/thread-998595-1-1.html sera directement convertie en formulaire www.discuz.net/viewthread.php?tid=998595&extra=page%3D1&page=1.
    Bien sûr, cette ligne de code est un peu ancienne, et le nouveau disque n'utilise plus cette règle de réécriture. Si vous visitez cette page et qu'elle obtient un 404, cela ne veut pas dire que ce que j'ai dit était faux.

    La méthode d'écriture du htaccess pour des règles similaires est la suivante : (Voici une réécriture de la page http://www.discuz.net/forum-10-1.html)

    RewriteRule ^(.*)/forum-(\w+)-([0-9]+)\.html$ /forum.php?mod=forumdisplay&fid=&page=&%1
    

    En parlant de ça,
    La raison pour laquelle votre problème survient est la suivante :
    Le fichier CSS est passé dans app_dev.php en tant que paramètre, donc naturellement le CSS est introuvable.

    Les solutions spécifiques vous sont également proposées :
    Premièrement : Baidu Symfony réécrit app_dev.php
    Deuxièmement : le mécanisme de réécriture repose sur des expressions régulières. Quel que soit le logiciel serveur qui peut s'échapper.
    Troisièmement, apprenez les expressions régulières en quelques minutes. Adresse : http://www.jb51.net/tools/zhengze.html

    .

    http://symfony.cn/articles/symfony2-nginx-configuration.html
    Veuillez comprendre attentivement cette ligne : réécrivez ^/app.php/?(.*)$ /$1 permanent ;

    Au fait : Diplômés à la recherche de postes de stage.

    répondre
    0
  • 滿天的星座

    滿天的星座2017-05-16 16:46:32

    Idem que ci-dessus, utilisez un hôte virtuel et n'accédez pas directement au fichier d'entrée

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 16:46:32

    Utilisez la ligne de commande pour entrer dans le répertoire racine du projet et exécutez :

    app/console assets:install web
    

    Retournez au navigateur et actualisez-le, vous devriez le voir. La raison en est qu'une fois l'installation terminée, l'installation des fichiers de ressources tels que CSS est manquante (cela peut être le cas sous Windows, je n'ai pas joué à SF2 sous Windows. La commande ci-dessus installera les fichiers de ressources dans la configuration par défaut de SF2). demo Bundle dans le répertoire web/bundles.

    J'espère que cela vous aidera.

    répondre
    0
  • Annulerrépondre