0

WordPress サイトのネットワークをインストールしようとしています。メイン サイト (ルートにある) は 2008 年から既に稼働しています。アップロードされたファイル以外はすべて問題ありません。/assets/メイン サイトが開始されてから、アップロード フォルダーを に変更しました。すべての画像はメイン サイトで機能しますが、サブ フォルダー サイトの画像は機能しません。たとえば、メイン サイトの画像 URL

www.mysite.com/assets/2013/04/someimage.jpg

これは完璧に機能しています。しかし、サブフォルダーサイトの画像パスが表示されています

www.mysite.com/test/assets/sites/1/2013/04/someimage.jpg

URL からサブ サイトの名前を削除すると (この場合は「test」)、機能します。つまり、画像がアップロードされたことを意味します

www.mysite.com/assests/sites/1/someimage.jpg (without sub folder site's name).

FTP経由でも同じことがわかります。しかし、WordPress はサブサイトの名前で URL をレンダリングします。.htaccess リダイレクトに何らかのエラーが発生するはずです。

以下は私の .htaccess ファイルの内容です:

# BEGIN WordPress
<IfModule mod_rewrite.c>
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]
</IfModule>
# END WordPress

このサイトは、テスト用に共有されている Godaddy でホストされています。ライブサイトは、すべてのテストの後、専用サーバーに移動します.

4

1 に答える 1

0

実際のファイルは次のとおり/assets/sites/です。リクエストからサイトの名前を削除するには、後半の部分をキャプチャして、それに書き換える必要があります

RewriteRule ^.*?/(assets/sites/.*)$ /$1 [L]

更新

ファイルが によって提供される場合、次のwp-includes/ms-files.phpようなものでなければなりません

RewriteRule ^.*?/(assets/sites/.*)$ wp-includes/ms-files.php?file=$1 [L]
于 2013-04-17T12:59:34.670 に答える