Pertama, saya sudah membaca sejumlah posting pada proses ini. Namun, karena berbagai alasan, prosesnya tetap sulit untuk diterapkan atau dipecahkan karena tidak ada contoh yang bahkan abstrak, atau mungkin terlalu abstrak. Dan ada beberapa posting "tidak bisa melakukan", hampir selalu ditindaklanjuti dengan "dengan 3,5, Anda sekarang dapat" peringatan, jadi apakah seseorang dapat tetap ambigu, meskipun tidak diragukan lagi non-sepele.
Ringkasan:
Bagaimana cara memindahkan wordpress multisite (WPMS) dari root.com ke root / blog?
Untuk contoh ini, kami memindahkan WPMS dari "root.com" ke "root.com/blogs"
Saya mengerti bahwa saya perlu memperbarui path dalam database dan wp-config.php dengan tepat. Sepertinya saya mungkin juga harus memperbarui .htaccess? Saya juga mengetahui masalah serialisasi dengan pencarian / penggantian dan pembaruan permintaan mysql.
Saya memiliki WPMS yang telah saya perbarui menjadi 3.5. Saya telah menemukan tabel berikut dengan info domain dan jalur
Konfigurasi kerja yang ada sebelum pindah ke subdirektori
1. wp_blogs
select blog_id, domain, path from wp_blogs;
+---------+-------------+--------+
| blog_id | domain | path |
+---------+-------------+--------+
| 1 | root.com | / |
| 2 | root.com | /matt/ |
+---------+-------------+--------+
2. wp_site
select * in wp_site;
+----+-------------+------+
| id | domain | path |
+----+-------------+------+
| 1 | root.com | / |
+----+-------------+------+
3. Blog_id sesuai dengan tabel opsi wp _ # _ yang berisi:
select option_name,option_value from wp_2_options
where option_name = 'home' or option_name = 'siteurl';
+-------------+--------------------------+
| option_name | option_value |
+-------------+--------------------------+
| home | http://root.com/matt/ |
| siteurl | http://root.com/matt/ |
+-------------+--------------------------+
4. Di wp-config.php saya memiliki baris khusus WPMS berikut:
define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false);
$base = '/';
define( 'DOMAIN_CURRENT_SITE', 'root.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
5. Terakhir, dalam .htaccess saya , saya memiliki:
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]
Diperlukan pembaruan untuk memindahkan situs
Tampaknya bagi saya untuk memindahkan situs saya ke blog, saya akan:
1. Perbarui wp_blogs ke
mysql> update wp_blogs set domain=concat(domain, '/blogs'), path=concat(path, 'blogs/');
select blog_id, domain, path from wp_blogs where blog_id < 3;
+---------+-------------+--------------+
| blog_id | domain | path |
+---------+-------------+--------------+
| 1 | root.com | /blogs/ |
| 2 | root.com | /blogs/matt/ |
+---------+-------------+--------------+
2. Perbarui wp_site ke
update wp_site set domain=concat(domain, '/blogs'), path=concat(path, 'blogs/');
select * from wp_site;
+----+-------------+------------+
| id | domain | path |
+----+-------------+------------+
| 1 | root.com | /blogs/ |
+----+-------------+------------+
3. opsi wp _ # _
+-------------+--------------------------------+
| option_name | option_value |
+-------------+--------------------------------+
| home | http://root.com/blogs/matt/ |
| siteurl | http://root.com/blogs/matt/ |
+-------------+--------------------------------+
4. wp_config.php
define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false);
$base = '/blogs/';
define( 'DOMAIN_CURRENT_SITE', 'root.com' );
define( 'PATH_CURRENT_SITE', '/blogs/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
Catatan: Saya tidak jelas bagaimana langkah ini diperbarui dengan tepat
5. .htaccess
Saya menemukan instruksi "perbarui .htaccess dengan tepat", tetapi tidak spesifik. Perbarui RewriteBase? Baris mana dalam .htaccess yang harus saya perbarui ketika saya memindahkan root.com ke root.com/blogs?
Yang hilang dari proses di atas adalah jalur yang ditemukan di pos. Pemabuk saya akan menggunakan alat pencarian dan ganti untuk itu, setelah saya membuat pembaruan yang lebih mendasar ini; atau saya salah?
Perbarui bungeshea menunjukkan bahwa, ya, saya arahkan RewriteBase ke subdirektori "blog", yaitu,
RewriteBase /Blogs
Akhirnya, jika Anda tidak tahu tentang http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ Anda harus. Ini luar biasa.
update wp_blogs set domain=concat(domain, '/blogs'), path=concat(path, 'blogs/');
lebih tepatnyaupdate wp_blogs set path=concat('/blogs',path);
Jawaban:
Saya tahu ini sudah tua tetapi saya memperbaikinya! saya menginstal WP MU dalam subfolder.
htaccess
:wp-config.php
:dan di database Anda, ubah ini:
sumber
Kelihatannya saya seolah-olah Anda telah memecahkan masalah Anda sendiri - cukup ikuti langkah-langkah Anda 1-4, dan untuk langkah 5 pembaruan
RewriteBase
di.htaccess
. Untuk memperbarui jalur dalam posting, saya suka menggunakan alat pencarian-dan-ganti Interconnect IT yang disterilkan .sumber
RewriteBase /blog
wp-admin
Oke, inilah yang saya lakukan dan ini berhasil. Tidak ada sub_folder. Situs sebelumnya dikonfigurasi untuk subdomain.
CADANGAN PERTAMA !!!
wp-config.php (ganti blok ini dengan blok di file Anda)
.htaccess
sekarang di SQL DB:
1) untuk setiap wp_ (situs #) _ tablesuffix pergi ke tabel opsi dan ubah siteurl dan home menjadi
http://www.sitename.com/blogname
2) wp_blogs untuk setiap blog_id, ubah domain dari
blogname.domain.com
menjadidomain.com
dan path ke/blogname/
3) tidak perlu mengubah wp_options siteurl & home atau sel apa pun di wp_site atau wp_sitemeta jika instal berada di lokasi yang sama.
Setelah Anda selesai pastikan untuk pergi ke (di panel admin superuser) pengaturan> permalinks dan klik simpan.
Voila!
sumber
Ini jawaban pertama saya jadi harap diperhatikan! :)
SAYA TIDAK punya blog yang sudah ada di subdomain yang akan dikonversi. Tetapi saya harus berjuang karena itu adalah blog lama dan mereka tidak akan membiarkan saya membuat blog subdirektori dan saya khawatir WP membuat perubahan pada DB saya pada saat mereka memberi saya kode untuk dimasukkan.
Inilah yang bekerja untuk saya pada April 2018 guys ... Saya menggunakan wp-config dari hot_barbara dan saya menggunakan .htaccess juga dari mereka.
Karena itu, tolong jangan pergi untuk subfolder - Saya tidak!
NAMUN, dalam SQL DB, inilah yang terjadi dalam kasus saya - semuanya sudah seperti ini jadi saya tidak membuat perubahan:
domain wp_blogs: jalur xyzabc.com: /
wp_sitemeta siteurl: h ** ps: //xyzabc.com/
Anda akan - seperti yang saya mengerti - menggunakan garis miring jika Anda memilikinya di pengaturan Anda.
sumber
Tulis ulang Anda
wp-config.php
dengan kode inidari pada
define('SUBDOMAIN_INSTALL', true);
lalu kebagian:
kemudian:
Tambahkan berikut ini ke file .htaccess Anda di /var/www/vhosts/website.com/, ganti aturan WordPress lainnya:
Itu dia.
sumber