因此,我最近一直在尝试通过构建基于 pimcore 的 nginx vhost 配置来帮助社区。据我所知,除了一个小问题外,一切都运行良好。例如,如果任何页面(cms 页面)使用 RSS 源,并且 RSS 源返回 503 错误(不可用/404 等),则整个页面将转发到 503/404 错误页面,而不仅仅是禁用该项目的加载。此问题不会出现在 apache 上。
发生的问题是,例如,/about 是一个包含 RSS 源的 cms 页面。about 页面有效,但是,被使用并显示在页面中的源返回 503 错误。Nginx 似乎正在获取包含的资产并将顶级页面 (/about) 重定向到错误页面,而不是呈现大部分页面。目前配置有点混乱,但完全可以正常工作,因为我尝试了许多不同的方法来使其工作,但我找不到正确的配置集来修复该问题。在 / 或 .php 位置内设置内部值似乎也没有改变任何东西。
如果有人能帮助我解决这个问题,那么我可以在将其添加回社区文档之前努力保护实际文档根目录。
标准 vhost 使用:
server {
listen 80;
server_name _;
root /data/www/pimcore;
access_log /var/log/nginx/$host-access.log;
error_log /var/log/nginx/pimcore-error.log debug;
include /etc/nginx/conf.d/_tpl/pimcore.cf;
}
我按 vhost 加载的 pimcore.cf 文件如下所示:
index index.php index.html index.htm;
location ~* \.(js|css|png|jpg|jpeg|gif|ico|xml|swf|flv|eot|ttf|woff|pdf|xls|htc)$ {
access_log off;
log_not_found off;
expires 360d;
add_header Pragma "public";
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
access_log off;
try_files /$uri $uri/ /website/var/assets$uri /website/var/(tmp|assets|plugins|areas)$uri /plugins/.*/static$uri /index.php?$args;
}
location @pimcore{
try_files $uri =200;
}
location ~* \.php$ {
try_files /$uri $uri/ /index.php?$args =200;
fastcgi_index index.php;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/var/lib/php/php.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
internal;
}
location / {
# First attempt to serve request as file, then as directory, then fall back to index.html
# try_files $uri $uri/ /index.php/$request_uri;
try_files /$uri $uri/ /index.php?$args;
error_page 404 500 501 503 = @pimcore;
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt{
access_log off;
log_not_found off;
}
location ~ /.ht {
deny all;
access_log off;
log_not_found off;
}