【问题标题】:WordPress multi site images and files not workingWordPress 多站点图像和文件不起作用
【发布时间】:2019-12-19 11:16:57
【问题描述】:

我有一个 WordPress 多站点子文件夹站点,其中所有图像和 css 文件都抛出 404。如果我取出路径中的多站点 slug,我可以访问该文件,如下所示:

https://example.com/wp-content/uploads/sites/11/2019/08/18248332854553431489.png

但如果多站点 slug 在 url 中,它就不起作用 https://example.com/multi-site-slug/wp-content/uploads/sites/11/2019/08/18248332854553431489.png

我尝试了几种不同的 .htaccess 配置来尝试使其工作,但无济于事。

.htaccess 文件现在是这样的:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
# END WordPress

我已经尝试了几种上传文件的方法,包括:

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

..还有这个(其中 N = 站点编号,例如 11):

RewriteRule ^([_0-9a-zA-Z-]+/)?siteN/files/(.+) wp-content/blogs.dir/N/files/$2 [L]

此外,文件和图像在主站点上运行良好。

更新

我检查了我的 NGINX 错误日志,发现我收到以下错误:

[error] 27521#0: *489567 open() "/home/example/public_html/multi-site-slug/wp-content/uploads/sites/11/2019/08/123418248332854553431489.png" failed (2: No such file or directory), client: XX.XXX.XX.XXX, server: example.com, request: "GET /multi-site-slug/wp-content/uploads/sites/11/2019/08/123418248332854553431489.png HTTP/2.0", host: "example.com"

【问题讨论】:

    标签: wordpress .htaccess nginx permissions multisite


    【解决方案1】:

    检查您是否启用了 CGI 和 FastCGI 支持。我花了两天时间调试 WPMS 的问题,直到我决定全面排除故障。

    • 我复制了我的网站(一个简单的 mv 命令就可以了)。不要删除数据库
    • 我创建了我的网站的新副本
    • 将其与另一个开箱即用并匹配设置的子域进行比较

    结果,我关闭了 CGI 支持,可能是为了提高性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-17
      • 2013-09-18
      • 1970-01-01
      相关资源
      最近更新 更多