MP4上传正常,但HTTP500如果我更新文件(多站点)

时间:2013-02-14 作者:Charaf

我正在尝试提供大约500Mb的mp4视频,但我的连接速度太慢,在家里做不到这一点。

为了实现这一点,我从学校通过ssh上传了视频,然后我使用wordpress媒体管理器上传了一个1字节的mp4文件。

上传完这个文件后,我通过ssh访问了它的目录,然后移动了500Mb的文件来替换它。

问题是在那之后,我得到了一个HTTP 500错误,即使:-原始文件(1B)和替换文件(500Mb)都被赋予了644个perms和相同的所有者/组-我检查了文件名是否相同,它不可能是这样的错误。

这是我的htaccess:

AddType video/mp4 .mp4 .m4v

SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5

SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/xml application/xhtml+xml text/plain application/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\\.0[678] no-gzip
BrowserMatch \\bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \\.(?:gif|jpe?g|png)$ no-gzip dont-vary

ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"

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

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [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).*) $1 [L]
RewriteRule  ^[_0-9a-zA-Z-]+/(.*\\.php)$ $1 [L]
RewriteRule . index.php [L]
我想不出这个问题。有人知道吗?

我忘了指定它是多站点wordpress。

非常感谢!

1 个回复
最合适的回答,由SO网友:birgire 整理而成

多站点正在使用

ms-files.php?file=$2
打开上载的文件,并在ms文件末尾打开。您拥有的php

// If we made it this far, just serve the file
readfile( $file );
因此,打开一个500mb的文件可能对您的php进程来说太多了。

您可以尝试增加php进程的可用内存占用。

或者在外部托管该文件,或者尝试将其上载到Vimeo/Youtube。

ps: 另一种方法是使用map Nginx绕过php的特性,但这对您没有帮助,因为您使用的是Apache。Apache可能有类似的方法,但我不确定。

Edit: 看起来现在有一种方法可以关闭ms文件。php根据此票据:

http://core.trac.wordpress.org/ticket/19235

我发现这篇文章描述了以下步骤:

Turn off ms-files.php after network setup

结束

相关推荐

Using Multisite with a CDN?

我运行的Wordpress多站点由Bluehost托管,只有5个低容量站点。我的站点加载时间最近很糟糕,所以我使用了延迟加载、DB优化和Smush。它和快速缓存来尝试解决速度问题。花了很多时间寻找一个好的CDN,显然,没有一个CDN可以轻松地用WP Multisite实现。每一个都需要W3 Total缓存,无法通过网络激活。关于如何创建镜像静态页面等,有一些看起来很冒险的教程,但没有任何内容可以让安装变得清晰简单。我选择的CDN是MaxCDN,但即使它们也需要W3TC。有人对如何在云中或CDN服务中安装多