सबसे पहले, मैं गया है पढ़ने के एक नंबर इस प्रक्रिया पर पदों की। हालांकि, विभिन्न कारणों से, प्रक्रिया अमूर्त उदाहरणों की कमी के लिए लागू करने या समस्या निवारण करने के लिए मुश्किल बनी हुई है, या शायद बहुत सार। और वहाँ कुछ "नहीं कर सकते" पोस्ट, लगभग हमेशा 3.5 के साथ "के बाद, आप अब कर सकते हैं" caveats, तो क्या कोई अस्पष्ट रह सकता है, हालांकि कोई शक नहीं गैर तुच्छ।
सारांश:
Wordpress multisite (WPMS) को root.com से root / ब्लॉग्स में कैसे स्थानांतरित करें?
इस उदाहरण के लिए, हम एक WPMS को "root.com" से "root.com/blogs" पर ले जा रहे हैं
मैं समझता हूं कि मुझे डेटाबेस और wp-config.php में उचित रूप से पथ अपडेट करने की आवश्यकता है। ऐसा लगता है कि मुझे भी अद्यतन करना पड़ सकता है। मैं खोज / बदलें और mysql क्वेरी अपडेट के साथ क्रमांकन मुद्दे से भी अवगत हूं।
मेरे पास एक WPMS है जिसे मैंने 3.5 में अपडेट किया है। मुझे डोमेन और पथ जानकारी के साथ निम्न तालिकाएँ मिली हैं
उपनिर्देशिका में जाने से पहले मौजूदा कार्य विन्यास
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 wp _ # _ विकल्प तालिकाओं से मेल खाता है जिसमें शामिल हैं:
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. मेरे wp-config.php में मेरे पास निम्नलिखित WPMS- विशिष्ट लाइनें हैं:
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. अंत में, मेरे .htaccess में , मेरे पास है:
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]
साइट को स्थानांतरित करने के लिए आवश्यक अपडेट
ऐसा लगता है कि मेरी साइट को / ब्लॉगों पर ले जाने के लिए, मैं:
1. wp_blogs को अपडेट करें
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. wp_site को अपडेट करें
update wp_site set domain=concat(domain, '/blogs'), path=concat(path, 'blogs/');
select * from wp_site;
+----+-------------+------------+
| id | domain | path |
+----+-------------+------------+
| 1 | root.com | /blogs/ |
+----+-------------+------------+
3. 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 );
नोट: मैं स्पष्ट नहीं हूं कि यह कदम उचित रूप से कैसे अपडेट किया गया है
5. है
मुझे अस्पष्ट "अद्यतन। उचित रूप से निर्देश" मिला, लेकिन विवरण नहीं। अपडेट अपडेट करें? जब मैं रूट .blogs में root.com ले जाता हूं, तो कौन सी लाइनें .htaccess में अपडेट होती हैं?
उपरोक्त प्रक्रिया से गुम होने के बाद पोस्ट में मिलने वाले रास्ते होंगे। मेरे शराबी इस खोज का उपयोग करने और उस के लिए उपकरण को बदलने के लिए हैं, जब मैंने इसे और अधिक मौलिक अपडेट किया है; या मैं गलत हूँ?
अपडेट बेंगेशिया से पता चलता है कि, हां, मैं "ब्लॉग्स" उपनिर्देशिका, यानी
RewriteBase /Blogs
अंत में, यदि आप http://interconnectit.com/products/search-and-replace-for-wordpress-dat डेटाबेस/ के बारे में नहीं जानते हैं तो आपको चाहिए। उत्कृष्ट है।
update wp_blogs set domain=concat(domain, '/blogs'), path=concat(path, 'blogs/');
बल्कि होना चाहिएupdate wp_blogs set path=concat('/blogs',path);