Problema al usar .htaccess para redirigir el feed de Feedburner
Estoy usando enlaces permanentes con la estructura año/mes/nombre-del-post, y también estoy usando el plugin download-monitor para manejar descargas de archivos. Agregué reglas de reescritura al principio del archivo .htaccess siguiendo las instrucciones de perishable press.
Hice exactamente lo mismo en otro blog y funcionó sin problemas. Las únicas diferencias son que ese blog no usaba download-monitor y la instalación estaba en la raíz del dominio, no en un subdirectorio /blog/
.
Si comento esta línea:
RewriteCond %{REQUEST_URI} ^/?feed.* [NC]
Funciona. Simplemente tengo curiosidad por saber por qué esta línea estaría en las instrucciones si no funciona. ¿Tiene algo que ver con el subdirectorio?
.htaccess:
# redirección temporal de todos los feeds de WordPress a Feedburner
# desde http://perishablepress.com/press/2008/03/25/redirect-wordpress-feeds-to-feedburner-via-htaccess-redux/
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /blog/
RewriteCond %{REQUEST_URI} ^/?feed.* [NC]
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.feedburner.com/mysite [L,NC,R=302]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /blog/
RewriteRule ^download/([^/]+)$ http://www.mysite.com/blog/wp-content/plugins/download-monitor/download.php?id=$1 [L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress

Prueba esto. Este formato funciona para mí. No necesitas repetir IfModule, RewriteEngine, RewriteBase.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{HTTP_USER_AGENT} !^.*(FeedBurner|FeedValidator) [NC]
RewriteRule ^feed/?.*$ http://feeds.feedburner.com/misitio [L,NC,R=302]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
RewriteRule ^download/([^/]+)$ http://www.misitio.com/blog/wp-content/plugins/download-monitor/download.php?id=$1 [L]
</IfModule>
# END WordPress
Aquí hay un buen tutorial sobre htaccess: http://codeigniter.com/wiki/mod_rewrite/
Y si continúas teniendo problemas, quizás considera usar un plugin: http://wordpress.org/extend/plugins/tentbloggers-feedburner-rss-redirect-plugin/screenshots/

Entonces, ¿estás diciendo que la línea:
RewriteCond %{REQUEST_URI} ^/?feed.* [NC]
no es necesaria? Parece funcionar cuando elimino esa línea, pero no entendí por qué esa línea estaría en las instrucciones.

Esa RewriteCond aún es necesaria, si la ves en mi código, todavía está ahí. Simplemente no tienes que seguir repitiendo ifModule, RewriteEngine y RewriteBase. Compara el código de arriba con el que publicaste originalmente.

Ok, usé tu versión y no puedo hacer que funcione, ya que ahora ninguno de los enlaces de feed redirige a FeedBurner. Reformularé mi pregunta anterior.

ReWriteCond../?feed es una directiva que define una condición de regla donde el estado actual del URI coincide con el de /?feed. En tu publicación original, mencionaste un problema en la primera línea de rewritebase. Por lo tanto, dejé esto como está. Esta línea no es necesaria. Ya que mencionaste que aprendiste tu código de perishablepress, debes haber leído su comentario de eliminar esta línea si tu servidor no redirige correctamente.

Vaya, no estaba redirigiendo el feed de comentarios, así que creo que pasé por alto esa parte. ¡Gracias! Además, la única razón por la que todo estaba separado en mi .htaccess se debe a que permití que WordPress agregara sus propias reglas y el download monitor, y simplemente copié el código de feedburner. El tuyo es definitivamente más limpio.

En realidad, esto no funciona. Tienes que mover la última RewriteCond
y RewriteRule
para que estén encima de la línea RewriteRule ^index\.php$ - [L]
. El artículo específicamente dice que tiene que estar encima de la sección regular de permalinks de WP.
