Cambio de la instalación multisitio subdirigida a la estructura de directorio central subdirigir

4

Ahora que se supone que WordPress 3.5 funciona con los archivos principales en el subdirectorio, decidí mover mi configuración de desarrollo local (subdirectorio multisitio) a esa configuración.

Avance rápido y lo que tengo a continuación:

wordpress (3.5 core)

wp-content (dir. de contenido, configurado a través de WP_CONTENT_DIR y WP_CONTENT_URL )

.htaccess con:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) C:\server\www\dev\wordpress/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).*) C:\server\www\dev\wordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ C:\server\www\dev\wordpress/$2 [L]
RewriteRule . index.php [L]

wp-config.php con:

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'dev.rarst.net');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

index.php con:

define('WP_USE_THEMES', true);
require('./wordpress/wp-blog-header.php');

Estado:

  • el administrador de red funciona en /wordpress/wp-admin/network/ pero todos los enlaces intentan apuntar a /wp-admin/network/ que errores Forbidden con The given path was above the root path: AH00127: Cannot map GET /wp-admin/network/ HTTP/1.1 to file
  • el sitio raíz funciona en dev.rarst.net con admin en dev.rarst.net/wordpress/wp-admin
  • otros sitios de subdirección ( dev.rarst.net/* ) han interrumpido las subidas, y los enlaces a admin y demás, todavía no los han alcanzado.

La pregunta en pocas palabras: ¿en qué dirección debo avanzar desde aquí para que todo funcione?

¿Qué enlaces de administrador se supone que deben estar con esta configuración (ya que el núcleo está en el subdirectorio "real" y los sitios en los subdirectorios "virtuales")?

    
pregunta Rarst 03.01.2013 - 21:45

1 respuesta

5

Sus líneas .htaccess deben verse así:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) /wordpress/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).*) /wordpress/$2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ /wordpress/$2 [L]
RewriteRule . index.php [L]

.htaccess no puede acceder a ubicaciones fuera de la raíz del documento, es por eso que las rutas como C:\server\www\dev\ fallan. (El código anterior se ha probado en mi instalación multisitio de localhost).

Debido a la reescritura de .htaccess , no es necesario configurar WP_CONFIG_DIR y WP_CONFIG_URL , ya que WordPress los calcula. Puede acceder a sus páginas de administración en http://dev.rarst.net/wp-admin o http://dev.rarst.net/subsite/wp-admin

    
respondido por el shea 03.01.2013 - 21:58

Lea otras preguntas en las etiquetas