2013-04-17 77 views
0

我想安裝WordPress網站的網絡。主站點(它在根目錄中)自2008年以來已經運行。除了上傳的文件外,一切都很好。自從我的主站點啓動後,我已將上傳文件夾更改爲/assets/。在主站點上工作的所有圖像,但子文件夾站點的圖像無法正常工作。例如,主站點的圖片URL圖像不能在WordPress網絡的子目錄安裝

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

這是工作完美。但子文件夾站點的圖像路徑顯示

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

,如果我從URL中刪除子網站的名稱(在這種情況下,「測試」),它的工作原理。這意味着將圖像上傳到

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的託管測試共享。在所有測試之後,實時站點將在專用服務器上運行。

+0

您在重寫規則中的任何地方都沒有'assets'或'sites'。這應該如何工作? –

回答

0

真實文件低於/assets/sites/。從請求剝離該網站的名稱,你必須捕捉下半年和重寫到

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

更新

如果文件被wp-includes/ms-files.php提供服務,它必須像

RewriteRule ^.*?/(assets/sites/.*)$ wp-includes/ms-files.php?file=$1 [L] 
+0

我以爲它會自動通過wp-includes/ms-files.php完成,我不確定@Olaf Dietsche你能不能改變我的整個代碼? – Kanu

+0

@Kanu我不熟悉Wordpress和上傳的文件。請看更新的答案,也許它有效。 –

+0

對不起,以上代碼無法使用。 WordPress仍然使用URL中的子網站名稱進行呈現。任何一個熟悉網絡站點的人? – Kanu

相關問題