在子域多站点环境中,所有指向图像的链接都会断开

时间:2014-03-25 作者:Steve

我刚刚安装了Wordpress 3.8.1的新版本,然后使用子域启用了网络功能。

在cPanel中,我的通配符子域指向Wordpress文件夹,Wordpress admin在子域中工作正常。

当我在一个子域的管理区域中,试图向页面添加一个图像时,该图像显示为一个断开的占位符。

然而,我可以看到它已经上传到/wp-content/uploads/sites/2/2014/03/*。jpg公司

这是我的。htaccess:

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

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteRule ^.*/files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\\.php)$ $1 [L]
RewriteRule . index.php [L] 
你能看出来是怎么回事吗?

以下是一些即使在文件系统中也不会显示在浏览器中的示例图像:

1 个回复
SO网友:s_ha_dum

我不使用MU,现在无法测试,但是。。。

如果您从全新的3.8.1开始.htaccess 文件应如下所示(per the Codex):

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

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\\.php)$ wp/$1 [L]
RewriteRule . index.php [L]
您的.htaccess 不匹配,尤其是这一行:

RewriteRule ^.*/files/(.+) wp-includes/ms-files.php?file=$1 [L]
该行在规范文件中丢失,但包含在您的文件中。它类似于WordPress 3.0到3.4.2子文件夹示例中的一行,但不完全匹配:

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
也类似于WordPress 3.0至3.4.2子域示例,但与之不完全匹配:

RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
无论哪种方式,您的.htaccess 文件

也就是说,我认为这条规则不应该成为阻碍,尽管这让我想知道它是如何做到的。

我确实注意到sites/ 目录404s(HttpFox输出):

获取404文本/htmlhttp://nsw.findrhinoplasty.com.au/wp-content/uploads/sites/

这使我怀疑该目录或父目录上存在权限问题。

结束

相关推荐

How to set up wp multisite?

安装所有台阶后(http://codex.wordpress.org/Create_A_Network) 我尝试创建网站。我无法访问创建的任何网站的仪表板。它表示找不到页面(错误404)。为了启动fresh,我卸载了WP,然后按照每个步骤安装。我不知道该怎么办。我只能访问根站点的仪表板。其余的我都不行。