我使用nginx和php-fpm来托管我的wordpress网站,我有一个很大的问题:
当我使用媒体插件写一个带有一些法国spécial字符的图片名称时,nginx会给我一个404.
http://example.com/wp-content/uploads/2013/05/Collier - 大象BOIS-OS-银色-300x300.jpg - >返回404
和
http://example.com/wp-content/uploads/2013/05/Collier-%C3%A9l%C3%A9phant-bois-os-argent-350x350.jpg - >返回404
该文件托管于/ wp-content / uploads / 2013/05 /目录并命名为Collier-éléphant-bois-os-argent-300x300.jpg
你能帮我解决一下吗?
nginx conf:
server {
charset UTF-8;
## Your website name goes here.
server_name example.com www.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
## Your only path reference.
root /var/www/example.com/www/htdocs/;
index index.php index.html;
server_name_in_redirect off;
port_in_redirect off;
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico)$ {
access_log off;
expires 30d;
}
# rewrite rules
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}
location ~ \.php$ {
fastcgi_pass phpfcgi;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Cordialy,
答案 0 :(得分:0)
您的服务器可能配置错误的区域设置,无法将非ASCII字符正确转换为文件名。
您需要确保文件系统使用utf8作为文件名,并且上传的文件也使用正确编码的文件名。