Mis archivos .htaccess
están interceptando el archivo «.htaccess
de WordPress.
¿Qué módulos y qué configuraciones (especificadas por .htaccess
) son necesarios para que WordPress funcione? En otras palabras, ¿dónde puedo encontrar WordPress «default .htaccess
archivo?
Comentarios
Respuesta
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 te sirva de poco.
Comentarios
- Por favor, mira el chat aquí sobre esto.
- !!! La respuesta es obsoleta. Utilice la nueva: wordpress.stackexchange.com/a/250918/33667
Respuesta
WordPress no contiene .htaccess
en forma de archivo.
Las reglas se escriben en el archivo por save_mod_rewrite_rules()
función y son generados por $wp_rewrite->mod_rewrite_rules()
.
Nota esa instalación multisitio tiene reglas diferentes (más complejas) y parece manejarse de manera diferente.
Comentarios
- +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 .htaccess personales.
Respuesta
Utilice la última versión del .htaccess
https://wordpress.org/support/article/htaccess/ .
Respuesta
Use el #wordpress de Freenode para encontrar la documentación apropiada, generalmente en el /topic
. Allí encontré la clave Class WP_Rewrite
aquí , el wordpress.org oficial es el más engañoso y de marketing. De todos modos, no mezcle las reglas de reescritura de Apache con WP «s reescribe las reglas, aunque el nombre de WP es probablemente del equivalente de Apache.
La API de WP_Rewrite indica
Puede agregar reglas para activar la visualización y el procesamiento de la página mediante 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 en función de las reglas de reescritura.
por lo que 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 su archivos .htaccess codificados – ¡las cosas pueden cambiar incluso con diferentes versiones de WD! Así que use la API.
interceptando
El código aquí tiene algunas condiciones si el archivo .htaccess existe – no el 100% de sus inferencias porque no bien documentado y no puedo 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, un simple Apache-rewrite RewriteRule ^hello$ Layouts/hello.html [NC,L]
es aparentemente algo así como add_rewrite("^hello$", "Layouts/hello.html")
, h aven «t probó pero intentó 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
-
http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api
-
Gracias a toscho por ayudar aquí , una pequeña charla en el chat.
Comentarios
- Estoy bastante seguro de que he entendido algo mal aquí, por favor, revise este chat aquí . ¿Se interceptó porque mi blog estaba en el nivel raíz, lo que significa algo como www.hello.com/blog/?
htaccess
archivos.