Fichier .htaccess par défaut pour WordPress?

14

Mes .htaccessfichiers interceptent le .htaccessfichier WordPress .

Quels modules et quels paramètres (spécifiés par .htaccess) sont nécessaires pour que WordPress fonctionne? En d'autres termes, où puis-je trouver le .htaccessfichier par défaut de WordPress ?

Ethan Jinks O'Sullivan
la source
Il y a l'article du codex WordPress sur les htaccessfichiers.
Nicolai

Réponses:

23

Voici le code par défaut de ce fichier.

# 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

vous pouvez le vérifier ici pour le fichier htaccess par défaut.

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

Merci. J'espère que ça aide peu.

Manimaran
la source
S'il vous plaît, voyez le chat ici à ce sujet.
6

WordPress ne contient pas .htaccesssous forme de fichier.

Les règles sont écrites dans un fichier par save_mod_rewrite_rules()fonction et sont générées par $wp_rewrite->mod_rewrite_rules().

Notez que l'installation multisite a des règles différentes (plus complexes) et semble être gérée différemment.

Rarst
la source
+1 pour la bonne direction. Veuillez vérifier si j'ai bien compris le problème avec ma réponse. Je pense que l'essentiel est simplement d'utiliser l'API Rewrite_WP, pas de réinventer la roue avec des fichiers .htaccess personnels.
0

Utilisez le #wordpress du Freenode pour trouver la documentation appropriée, généralement dans le /topic. Là, j'ai trouvé la clé Class WP_Rewrite ici , le wordpress.org officiel est au mieux trompeur et marketing. Quoi qu'il en soit, ne mélangez pas les règles de réécriture d'Apache avec les règles de réécriture de WP, bien que le nom de WP provienne probablement de l'équivalent d'Apache.

Les états de l'API WP_Rewrite

Vous pouvez ajouter des règles pour déclencher l'affichage et le traitement de votre page à l'aide de ce composant. La fonctionnalité complète d'un contrôleur frontal n'existe pas, ce qui signifie que vous ne pouvez pas définir la façon dont les fichiers de modèle se chargent en fonction des règles de réécriture.

vous devez donc utiliser l'API pour effectuer les modifications, vous ne savez pas exactement ce que cela signifie, mais je pense que cela signifie que vous ne pouvez pas faire confiance à vos fichiers .htaccess codés en dur - les choses peuvent changer même avec différentes versions de WD! Utilisez donc l'API.

intercepter

Le code ici a certaines conditions si le fichier .htaccess existe - pas 100% de leurs inférences car il n'est pas bien documenté et ne peut pas comprendre le nom, mais le message central est probablement que le moyen sûr de maintenir les règles de réécriture est d'utiliser l'API WP_Rewrite, WP peut changer à l'avenir.

Par exemple, une simple réécriture Apache RewriteRule ^hello$ Layouts/hello.html [NC,L]est apparemment quelque chose comme add_rewrite("^hello$", "Layouts/hello.html"), n'a pas testé mais a essayé de suivre l'API ci-dessous:

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'.

en relation

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

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

  3. Merci à toscho pour son aide ici , quelques bavardages dans le chat.


la source
Je suis sûr que j'ai mal compris quelque chose ici, veuillez revoir ce chat ici . A-t-il intercepté parce que mon blog était au niveau racine signifiant quelque chose comme www.hello.com/blog/?