【发布时间】: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