En primer lugar, he leído varias publicaciones sobre este proceso. Sin embargo, por varias razones, el proceso sigue siendo difícil de implementar o solucionar por falta de ejemplos abstractos, o quizás demasiado abstractos. Y hay algunas publicaciones de "no puedo hacer", casi siempre seguidas de "con 3.5, ahora puedes" advertencias, así que si uno puede permanecer ambiguo, aunque sin duda no es trivial.
Resumen:
¿Cómo mover un wordpress multisite (WPMS) de root.com a root / blogs?
Para este ejemplo, estamos moviendo un WPMS de "root.com" a "root.com/blogs"
Entiendo que necesito actualizar las rutas en la base de datos y wp-config.php adecuadamente. Parece que también tengo que actualizar .htaccess? También estoy al tanto del problema de serialización con las actualizaciones de búsqueda / reemplazo y consulta mysql.
Tengo un WPMS que he actualizado a 3.5. He encontrado las siguientes tablas con información de dominio y ruta
Configuración de trabajo existente antes de pasar al subdirectorio
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. El blog_id corresponde a las tablas de opciones wp _ # _ que contienen:
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. En mi wp-config.php tengo las siguientes líneas específicas de 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. Por último, en mi .htaccess , tengo:
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]
Actualizaciones necesarias para mover el sitio
Me parece que para mover mi sitio a / blogs, debería:
1. Actualice wp_blogs a
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. Actualice wp_site a
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 _ # _ opciones
+-------------+--------------------------------+
| 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 );
nota: no estoy claro cómo este paso se actualiza adecuadamente
5. .htaccess
Encontré instrucciones vagas de "actualizar .htaccess apropiadamente", pero no detalles. ¿Actualizar RewriteBase? ¿Qué líneas en .htaccess to actualizo cuando muevo root.com a root.com/blogs?
Falta el proceso anterior serán los caminos encontrados en las publicaciones. Mis objetivos son usar la herramienta de búsqueda y reemplazo para eso, después de haber realizado estas actualizaciones más fundamentales; o estoy equivocado?
Actualizar bungeshea sugiere que sí, apunto RewriteBase al subdirectorio "blogs", es decir,
RewriteBase /Blogs
Finalmente, si no sabe acerca de http://interconnectit.com/products/search-and-replace-for-wordpress-databases/ , debería hacerlo. Es excelente.
update wp_blogs set domain=concat(domain, '/blogs'), path=concat(path, 'blogs/');
deberían serloupdate wp_blogs set path=concat('/blogs',path);
Respuestas:
¡Sé que es viejo pero lo arreglé! Instalé WP MU en una subcarpeta.
htaccess
:wp-config.php
:y en su base de datos, modifique esto:
fuente
Me parece que ha resuelto su propio problema: solo siga los pasos 1 a 4 y para el paso 5 actualice el
RewriteBase
in.htaccess
. Para actualizar las rutas en las publicaciones, me gusta usar la herramienta de búsqueda y reemplazo esterilizada de Interconnect IT .fuente
RewriteBase /blog
wp-admin
Ok, esto es lo que hice y esto funcionó. Sin subcarpeta. El sitio se configuró previamente para el subdominio.
RESPALDO PRIMERO !!!
wp-config.php (reemplace este bloque con el bloque en su archivo)
.htaccess
ahora en el SQL DB:
1) para cada wp_ (sitio #) _ tablesuffix vaya a la tabla de opciones y cambie siteurl y home a
http://www.sitename.com/blogname
2) wp_blogs para cada cambio blog_id el dominio desde el
blogname.domain.com
quedomain.com
y la ruta/blogname/
3) no es necesario cambiar wp_options siteurl & home ni ninguna celda en wp_site o wp_sitemeta si la instalación se realiza en la misma ubicación.
Una vez que haya terminado, asegúrese de ir a (en el panel de administración del superusuario) la configuración> enlaces permanentes y haga clic en guardar.
Voila!
fuente
Esta es mi primera respuesta, así que por favor sea considerado. :)
NO tenía un blog que ya estaba en subdominios para convertir. Pero tuve que pelear porque era un blog antiguo y no me dejaban hacer un blog subdirectorio y temía que WP hiciera cambios en mi base de datos para cuando me dieran los códigos para poner.
Esto es lo que funcionó para mí en abril de 2018 chicos ... Usé la configuración de wp de hot_barbara y también utilicé el .htaccess de ellos.
Por lo tanto, no busque una subcarpeta, ¡no lo hice!
SIN EMBARGO, en SQL DB, esto es lo que sucedió en mi caso: ya era así, así que no hice ningún cambio:
wp_blogs dominio: xyzabc.com ruta: /
wp_sitemeta siteurl: h ** ps: //xyzabc.com/
Según tengo entendido, usaría una barra inclinada final si la tuviera en su configuración.
fuente
Reescribe tu
wp-config.php
con este códigoen lugar de
define('SUBDOMAIN_INSTALL', true);
luego ve a:
luego:
Agregue lo siguiente a su archivo .htaccess en /var/www/vhosts/website.com/, reemplazando otras reglas de WordPress:
Eso es.
fuente