¿Archivo predeterminado .htaccess para WordPress?

14

Mis .htaccessarchivos están interceptando el .htaccessarchivo de WordPress .

¿Qué módulos y qué configuraciones (especificadas por .htaccess) se requieren para que WordPress funcione? En otras palabras, ¿dónde puedo encontrar el .htaccessarchivo predeterminado de WordPress ?

Ethan Jinks O'Sullivan
fuente
Existe el artículo del códice de WordPress sobre htaccessarchivos.
Nicolai

Respuestas:

23

Aquí está el código predeterminado para ese archivo.

# 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

Puede verificarlo aquí para ver el archivo htaccess predeterminado.

http://codex.wordpress.org/Using_Permalinks .

Gracias. Espero que ayude poco.

Manimaran
fuente
Por favor, vea el chat aquí sobre esto.
6

WordPress no contiene .htaccessen forma de archivo.

Las reglas se escriben en el archivo por save_mod_rewrite_rules()función y se generan por $wp_rewrite->mod_rewrite_rules().

Tenga en cuenta que la instalación multisitio tiene reglas diferentes (más complejas) y parece manejarse de manera diferente.

Rarst
fuente
+1 para la dirección correcta. Por favor, revise si entendí bien el problema con mi respuesta. Creo que lo central es usar la API Rewrite_WP, no reinventar la rueda con archivos personales .htaccess.
0

Use la #wordpress de Freenode para encontrar la documentación adecuada, generalmente en /topic. Allí encontré la clave Class WP_Rewrite aquí , el wordpress.org oficial es el mejor engaño y marketing. De todos modos, no mezcle las reglas de reescritura de Apache con las reglas de reescritura de WP, aunque la denominación de WP probablemente provenga del equivalente de Apache.

Los estados de la API WP_Rewrite

Puede agregar reglas para activar la vista y el procesamiento de su página con este componente. La funcionalidad completa de un controlador frontal no existe, lo que significa que no puede definir cómo se cargan los archivos de plantilla según las reglas de reescritura.

por lo tanto, debe usar la API para hacer los cambios, no estoy completamente seguro de lo que significa, pero creo que significa que no puede confiar en sus archivos .htaccess codificados, ¡las cosas pueden cambiar incluso con diferentes versiones de WD! Entonces usa la API.

interceptando

El código aquí tiene algunas condiciones si el archivo .htaccess existe, no el 100% de sus inferencias porque no está bien documentado y no puede entender el nombre allí, pero el mensaje central es probablemente que la forma segura de mantener las reglas de reescritura es usar la API WP_Rewrite, WP puede cambiar en el futuro.

Por ejemplo, una simple reescritura de Apache RewriteRule ^hello$ Layouts/hello.html [NC,L]es aparentemente algo así como add_rewrite("^hello$", "Layouts/hello.html"), no lo he probado pero traté de seguir la API a continuación:

add_rewrite_rule (line 19)
Add a straight rewrite rule.

see: WP_Rewrite::add_rule() for long description.
since: 2.1.0
void add_rewrite_rule (string $regex, string $redirect, [string $after = 'bottom'])
string $regex: Regular Expression to match request against.
string $redirect: Page to redirect to.
string $after: Optional, default is 'bottom'. Where to add rule, can also be 'top'.

Relacionado

  1. http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

  2. http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api

  3. Gracias a toscho por ayudar aquí , algunas charlas en el chat.


fuente
Estoy bastante seguro de haber entendido mal algo aquí, por favor, revise este chat aquí . ¿Interceptó porque mi blog estaba en el nivel raíz, lo que significa algo como www.hello.com/blog/?