Właśnie zainstalowałem blog Wordpress w katalogu/blog w aplikacji Rails, działający na Unicorn i Nginx, a moje arkusze stylów i skrypty nie są ładowane poprawnie w przeglądarce, gdy wchodzę na moje strony domain.com/blog. Chrome konsola dając mi następujący błąd:Nginx - blog Wordpress na Railsach ładuje style i skrypty z tekstem typu MIME/html
- zasobów interpretować jako arkusza stylów, ale przeniesione z typem MIME text/html
- zasobów interpretować jako Script ale przeniesione z typem MIME text/html
starali aby to zrozumieć i wypróbować wiele rozwiązań tutaj na SO, ale wciąż nie może przejść przez ... wydaje się, że coś musi być zmienione w mojej konfiguracji Nginx, szczególnie w przypadku lokalizacji blogu/php. Oto mój config:
upstream unicorn {
server unix:/tmp/unicorn.domain.sock fail_timeout=0;
}
server {
server_name www.domain.com;
return 301 $scheme://domain.com$request_uri;
}
server {
listen 80 default deferred;
server_name domain.com;
root /home/dcs/htdocs/domain/current/public;
access_log /home/dcs/htdocs/domain/log/access.log;
error_log /home/dcs/htdocs/domain/log/error.log;
location /blog {
try_files $uri $uri/ /blog/index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME home/dcs/htdocs/domain/$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
error_page 500 502 503 504 /500.html;
keepalive_timeout 10;
}
Aby rozwinąć, jeśli pliki JavaScript i CSS załadować grzywny zewnątrz/ścieżki blogu, chciałbym sugeruje przeszukiwanie plików konfiguracyjnych nginx (zarówno podstawowego pliku nginx.conf, jak i dowolnego pliku virtualhost) dla "mime.types" (bez cudzysłowów). Powinieneś mieć włącznik dla tego pliku w konfiguracji najwyższego poziomu (np .: nginx.conf). Brzmi to prawie tak, jakby typy mime zostały w jakiś sposób załadowane warunkowo tylko na zewnątrz/blogu. Nigdy nie widziałem konfiguracji, która powoduje problem, który wyszczególniasz. Twoja "lokalizacja/blog" z dyrektywą try_files jest idealna, powinna normalnie obsługiwać pliki statyczne. –
Dzięki za odpowiedzi - aktualnie mam "include mime.types" w moim pliku nginx.conf i ten plik mime.types ma dyrektywę typów z css/javascript/etc, o której wspomniałeś, Tan. Próbowałem nawet zrobić "include /etc/nginx/mime.types" w tym konkretnym vhostu w lokalizacjach/blog i/php, ale wciąż nie ma szczęścia ... –
Nate - tak, moje style i skrypty ładują się właściwie poza "location/blog", ale każda strona na tym blogu Wordpress z jakiegoś powodu ciągle napotyka ten błąd typu MIME. –