Cómo mover wp-content (o subir) fuera del directorio de Wordpress

4

Estoy tratando de mover el directorio wp-content fuera del directorio de wordpress y tener todo tipo de problemas extraños. Aunque enlace dice que puede hacer esto, parece que la estructura del directorio está profundamente conectada a la Código WP. Por ejemplo, recibo mensajes de error como:

PHP message: PHP Warning:  file_exists(): open_basedir restriction in effect.
File(/srv/wp.content/themes) is not within the allowed path(s): (/srv/wordpress/:/tmp) 
in /srv/wordpress/wp-includes/theme.php on line 369

Todo lo que necesito hacer es mover el directorio de cargas fuera de la jerarquía principal. Intenté vincularlo también, pero luego obtengo errores de permiso.

¿Alguien se las arregló para tener correctamente el directorio wp-content o, al menos, subió el directorio fuera del directorio raíz?

    
pregunta Sasha O 16.02.2014 - 09:48

2 respuestas

5

Tienes que definir WP_CONTENT_DIR y WP_CONTENT_URL :

const WP_CONTENT_DIR = '/path/to/new/directory';
const WP_CONTENT_URL = 'http://content.wp';

La nueva ruta debe ser accesible para operaciones de lectura y escritura desde el directorio central de WordPress. Es posible que necesite una función auxiliar para agregar la nueva ruta de directorio a la lista open_basedir :

/**
 * Add a new directory to the 'open_basedir' list.
 *
 * @link   http://www.php.net/manual/en/ini.core.php#ini.open-basedir
 * @param  string $new_dir
 * @return void
 */
function extend_base_dir( $new_dir )
{
    $separator = ':'; // all systems, except Win

    // http://stackoverflow.com/a/5879078/299509
    if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) )
        $separator = ';';

    $dirs = explode( $separator, ini_get( 'open_basedir' ) );

    $found = array_search( $new_dir, $dirs );

    // Already accessible
    if ( FALSE !== $found )
        return;

    $dirs[] = $new_dir;

    ini_set( 'open_basedir', join( $separator, $dirs ) );
}

Ahora llámalo así:

extend_base_dir( WP_CONTENT_DIR );
    
respondido por el fuxia 16.02.2014 - 11:06
0

Vine aquí para averiguar cómo mover cargas fuera de la raíz de WordPress. Al final, lo mantuve tan simple como crear un enlace simbólico y funciona bien.

$ pwd
/var/www/wordpress
$ cd ..
$ mkdir uploads
$ chmod 755 uploads
$ ln -sf /var/www/uploads /var/www/wordpress/wp-content/uploads

Fuente: Suba la carpeta de Wordpress fuera del proyecto

Para un proyecto existente:

$ pwd
/var/www/wordpress
$ mv /var/www/wordpress/wp-content/uploads /var/www/uploads
$ chmod -R 755 uploads
$ ln -sf /var/www/uploads /var/www/wordpress/wp-content/uploads
    
respondido por el leymannx 20.09.2018 - 22:48

Lea otras preguntas en las etiquetas