最近,我在 Fedora nginx + php-fpm 设置中使用某些 PHP 应用程序时遇到了一些问题。我最初遇到这个问题Owncloud,并创建了一个问题,但没有太多运气。,但我意识到这是一个全球性问题。
我今天尝试安装 Drupal,遇到了之前遇到的相同问题。我的 nginx 服务器块如下:
server {
listen 80;
server_name domainname.com;
root /var/www/whatever;
index index.php;
location / {
try_files $uri $uri/ =404;
#Recommended by Drupal docs for "Clean URLs"
error_page 404 = @drupal;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_index index.php;
try_files $uri =404;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
#Recommended by Drupal docs for "Clean URLs"
location @drupal {
rewrite ^(.*)$ /index.php?q=$1 last;
}
}
这个块对于我的 Tiny Tiny RSS 设置来说工作得很好,但是当我将它用于 Owncloud 或 Drupal 时,所有资产都无法加载,因为 php 生成的 URL 是mysite.com/var/www/whatever/important/stuff.pony代替mysite.com/important/stuff.pony。
我认为该问题与 Fedora 中 PHP 的默认配置有关,但除此之外,我不知道可能出了什么问题。