El blog antiguo / y el blog / feed / URL no funcionan después de mover el blog al nivel superior a través de .htaccess

4

Durante mucho tiempo serví mi blog desde enlace , con la instalación de wordpress en /home/murrayc/murrayc.com /Blog/. Ahora lo moví a enlace , sin mover la instalación de wordpress en el sistema de archivos.

Lo hice por:

  • Cambiando la "Dirección del sitio (URL)", en Configuración- > General, a enlace . Mantuve la "Dirección de WordPress (URL)" como enlace

  • Agregar una RedirectRule en mi .htaccess de nivel superior en /home/murrayc/murrayc.com/, para que, por ejemplo, permalink / algo se pueda usar en lugar de blog / permalink / algo. Los blogs / enlaces permanentes más antiguos todavía parecen funcionar también.

Sin embargo, algunos enlaces antiguos no funcionan. enlace lo lleva a una página que menciona blogs, probablemente a través del intento de Wordpress de adivinar lo que desea. Del mismo modo, enlace lo lleva a la fuente de comentarios de una antigua publicación de blog.

Con las reglas agregadas por Wordpress (después de cambiar la "URL de la dirección del sitio", creo), este es mi archivo .htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/temp
RewriteRule ^(.*)$ blog/$1 [L]

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Estoy usando Wordpress 3.5.1, la última versión, a través de la instalación de 1 clic de Dreamhost, que se actualiza automáticamente.

Esto se siente como un error en Wordpress. Tal vez sea una mala interpretación de las direcciones URL que recibe en algún punto que contiene blog / blog.

    
pregunta murrayc 31.01.2013 - 09:36

2 respuestas

0

Puedes omitir la primera parte de tu .htaccess , solo usa la configuración estándar de WordPress.

El problema principal es que necesita crear un nuevo index.php en el directorio root de su espacio web, que contiene lo siguiente:

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require('./blog/wp-blog-header.php');
?>

También debe crear un archivo .htaccess en su directorio raíz, que contiene el WordPress .htaccess estándar, y luego todo debería funcionar bien.

    
respondido por el fischi 31.01.2013 - 10:37
0

Es posible que desee utilizar 301 redirecciones, ya que ahora no hay un directorio de blogs, pero se supone que es como raíz. Debe informar al servidor que estas son direcciones URL antiguas y que deben coincidir con las nuevas. Puede hacerlo usando .htaccess como el código a continuación,

//301 Redirect Old File
Redirect 301 http://www.murrayc.com/blog http://www.murrayc.com/
Redirect 301 http://www.murrayc.com/blog/feed http://www.murrayc.com/feed

También hay complementos para estos.

    
respondido por el Rajeev Vyas 04.02.2013 - 13:49

Lea otras preguntas en las etiquetas