심포니 설치가 완료된 후 홈페이지에 들어가는데 CSS 스타일이 렌더링되지 않습니다.
PHP中文网
PHP中文网 2017-05-16 16:44:32
0
4
676

효과 표시

PHP中文网
PHP中文网

认证高级PHP讲师

모든 응답(4)
習慣沉默

CSS 파일이 존재하지 않아서 발생하는 문제입니다. 지금 CSS 리소스가 있는지 확인하세요

漂亮男人

프로그래머 여러분이라고 말씀드리고 싶습니다. . .

심포니, 위키 시스템 등 다양한 시스템,
또한 wordpress, inews 등에서는 주소를 /index.php/M/V/C 또는 /M/V/C.html로 쓸 수 있습니다.
어떤 경우에는 CSS가 표시되지 않는 것이 정상이며, 그 이유는 프런트 엔드 관점에서 볼 때 99%의 경우 CSS를 찾을 수 없기 때문입니다.
WordPress는 Google 글꼴을 사용하며 페이지가 오랫동안 표시되지 않습니다. 이것은 또 다른 주제입니다.

백그라운드에서 일부 시스템은 /index.php/M/V/C로 작성된 CI와 같은 솔루션을 제공합니다. 이는 CI 자체가 더 성실하기 때문입니다. (아마도 있을 겁니다. 며칠 전 CI 매뉴얼을 보다가 이 구현이 어렴풋이 기억났습니다.) CI뿐만 아니라 구현될 것들도 많이 있습니다.
구현 원칙은 /index.php/css/template.css입니다. /css/template.css를 index.php에 매개변수로 전달한 다음 PHP를 사용하여 읽어옵니다.

어떤 것들은 조금 까다롭습니다.
그는 rewrite를 사용하고 싶어하지만 index.php는 /index.php/css/template.css로 직접 연결되는 이 방법을 제공하지 않습니다. 전달된 매개변수가 작동하지 않아 CSS가 표시되지 않습니다.
예: 미디어위키, 누군가가 처음 며칠 동안 미디어위키를 설치했지만 rewrite를 수행하지 않아 표시되지 않았습니다.

nginx와 같은 일부 서버 소프트웨어는 경우에 따라 기본적으로 매개변수를 전달합니다.
예를 들어, www.test.com/M/V/C를 방문하면 nginx는 이를 www.test.com/index.php/M/V/C로 구문 분석하고 양심이 있는 사람들을 표시합니다.
물론 어떤 사람들은 어리석게도 서버 디렉터리의 M/V/C 디렉터리를 찾고, 물론 403/404를 찾습니다.

위에서 너무 많이 말씀드렸는데,
이해가 안 되시면 제가 혼자 얘기하고 있다고 생각해주세요. 이 문제를 심층적으로 분석한 핵심 내용은 다음과 같습니다.

핵심은:

메커니즘을 다시 작성하거나 다시 작성합니다.
일반적으로 PHP를 작성하는 사람들은 경험이 있을 것이고 웹사이트에는 확실히 www.bbs.com/forum.php?mod=forumdisplay&fid=25

와 같은 많은 매개변수가 있을 것입니다.

그러나 일부 PHP 사이트에는 이 기능이 없습니다. 예를 들어, discuz, http://www.discuz.net/forum-10-1.html, 이 예제 페이지를 방문하면 웹사이트의 루트 디렉터리에는 분명히 이 기능이 없습니다. forum-10-1.html.html 파일은 첫째, 루트 디렉터리에 쓰기 권한이 있으면 안전하지 않을 수 있고 둘째, 이 파일을 실시간으로 업데이트해야 하기 때문에 예전으로 돌아가는 것과 같습니다. 텍스트 파일이 데이터베이스로 사용되었습니다. 하드 디스크는 큰 압박을 받고 있으며 빠르게 고장납니다.

물론, 이 파일이 없으면 어떻게 해야 하나요?

물론 서버 소프트웨어 nginx/lighthttpd/apache가 이때 작동됩니다.
Apache가 가장 간단합니다. 대부분의 시스템에는 .htaccess 파일이 있습니다. 이 파일을 웹 사이트의 루트 디렉터리에 놓으면 됩니다.
nginx에서도 .htaccess 파일을 사용할 수 있다고 하는데 저는 모두 수동으로 설정해 본 적이 없습니다.
lighttpd는 수동으로 구성해야 합니다.

이제 이 파일에 액세스할 수 있습니다.
예를 들어, 사장인 nginx가 이 요청을 받으면 그녀는 분명히 외부 세계에 "아, 모두 왔어요. 일을 멈추고 잠시 앉아 계세요. 그러면 즉시 차를 대접할 것입니다."라고 말할 것입니다. 즉시 웨이터에게 준비를 요청하세요.
웨이터는 집주인이 차를 대접하고 싶어하는 것을 보고 찻잎을 준비하고 물을 끓이러 나갔습니다.
여기 있는 사람은 당연히 nginx의 재작성 모듈입니다.
nginx 모듈 작성 방법: (여기 http://www.discuz.net/thread-998595-1-1.html 페이지를 다시 작성했습니다.)

으아아아

위 코드 줄의 기능은 다음과 같습니다.
http://www.discuz.net/thread-998595-1-1.html 유형의 모든 URL은 www.discuz.net/viewthread.php?tid=998595&extra=page%3D1&page=1 형식으로 직접 변환됩니다.
물론 이 코드 줄은 약간 오래되었으며 새로운 discuz에서는 더 이상 이 재작성 규칙을 사용하지 않습니다. 이 페이지를 방문하여 404가 표시된다고 해서 제가 말한 내용이 틀렸다는 의미는 아닙니다.

유사 규칙에 대한 htaccess 작성 방법은 다음과 같습니다. (여기 http://www.discuz.net/forum-10-1.html 페이지를 다시 작성했습니다.)

으아아아

그러고보니,
문제가 발생하는 이유는
CSS 파일은 app_dev.php에 매개변수로 전달되므로 자연스럽게 CSS를 찾을 수 없습니다.

특정 솔루션도 제공됩니다:
첫 번째: Baidu Symfony rewrite app_dev.php
둘째: 재작성 메커니즘은 정규식에 의존합니다. 어떤 서버 소프트웨어가 탈출할 수 있는지는 중요하지 않습니다.
셋째, 몇 분 안에 정규식을 배우세요. 주소: http://www.jb51.net/tools/zhengze.html

http://symfony.cn/articles/symfony2-nginx-configuration.html
이 줄을 주의 깊게 읽어주세요: ^/app.php/?(.*)$ /$1 영구;

다시 작성하세요.

그나저나: 인턴십 자리를 찾고 있는 졸업생입니다.

滿天的星座

위와 동일하게 가상 호스트를 사용하고 항목 파일에 직접 접근하지 마세요

曾经蜡笔没有小新

명령줄을 사용하여 프로젝트 루트 디렉터리를 입력하고 다음을 실행합니다.

으아아아

브라우저로 돌아가서 새로고침하면 표시됩니다. 그 이유는 설치가 완료된 후 CSS와 같은 리소스 파일 설치가 누락되었기 때문입니다. (Windows의 경우일 수 있으며 Windows에서 sf2를 플레이하지 않았습니다.) 위 명령을 실행하면 기본 데모에 리소스 파일이 설치됩니다. web/bundles 디렉토리에 sf2 번들.

도움이 되기를 바랍니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿