Meine .htaccess
-Dateien fangen WordPress ab. .htaccess
.
Welche Module und welche Einstellungen (angegeben durch .htaccess
) sind erforderlich, damit WordPress funktioniert? Mit anderen Worten, wo finde ich WordPress „default .htaccess
Datei?
Kommentare
- Es gibt den WordPress-Codex-Artikel über
htaccess
Dateien.
Antwort
Hier ist der Standardcode für diese Datei.
# 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
Sie können ihn hier auf die Standard-htaccess-Datei überprüfen.
http://codex.wordpress.org/Using_Permalinks .
Danke. Ich hoffe, es hilft wenig.
Kommentare
- Bitte lesen Sie den Chat hier darüber.
- !!! Die Antwort ist veraltet. Verwenden Sie die neue Antwort: wordpress.stackexchange.com/a/250918/33667
Antwort
WordPress enthält nicht .htaccess
in Dateiform.
Die Regeln werden von save_mod_rewrite_rules()
Funktion und werden von $wp_rewrite->mod_rewrite_rules()
generiert.
Hinweis Diese Multisite-Installation hat andere (komplexere) Regeln und scheint anders gehandhabt zu werden.
Kommentare
- +1 für die richtige Richtung. Bitte überprüfen Sie mit meiner Antwort, ob ich das Problem richtig verstanden habe. Ich denke, die zentrale Sache ist nur, die Rewrite_WP-API zu verwenden, nicht das Rad mit persönlichen .htaccess-Dateien neu zu erfinden.
Antwort
Verwenden Sie die neueste Standardversion .htaccess
Antwort
Verwenden Sie das #wordpress des Freenode, um die entsprechende Dokumentation zu finden, normalerweise in der /topic
. Dort habe ich den Schlüssel hier ist die offizielle wordpress.org bestenfalls irreführend und vermarktet. Mischen Sie die Umschreiberegeln von Apache auf keinen Fall mit WP „s Umschreiberegeln, obwohl die Benennung von WP wahrscheinlich von Apaches Äquivalent stammt.
Die WP_Rewrite-API gibt
an. Sie können hinzufügen Regeln zum Auslösen der Seitenansicht und -verarbeitung mit dieser Komponente. Die volle Funktionalität eines Front-Controllers ist nicht vorhanden. bedeutet, dass Sie nicht definieren können, wie die Vorlagendateien basierend auf den Umschreiberegeln geladen werden.
Sie müssen also die API verwenden, um die Änderungen vorzunehmen. Sie sind sich nicht ganz sicher, was dies bedeutet, aber ich denke, es bedeutet, dass Sie Ihrem Hard- nicht vertrauen können. codierte .htaccess-Dateien – Dinge können sich auch bei verschiedenen WD-Versionen ändern! Verwenden Sie also die API.
Abfangen
Der Code hier hat einige Bedingungen, wenn die .htaccess-Datei vorhanden ist – nicht 100% ihrer Schlussfolgerungen, weil nicht gut dokumentiert und kann die Benennung dort nicht verstehen, aber die zentrale Botschaft ist wahrscheinlich, dass die sichere Möglichkeit, die Umschreiberegeln beizubehalten, die Verwendung der WP_Rewrite-API ist. WP kann sich in Zukunft ändern.
Zum Beispiel eine einfache Apache-rewrite RewriteRule ^hello$ Layouts/hello.html [NC,L]
ist anscheinend so etwas wie add_rewrite("^hello$", "Layouts/hello.html")
, h aven „t getestet, aber versucht, der folgenden API zu folgen:
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".
Verwandte
-
http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api
-
Vielen Dank an toscho für die Unterstützung von hier , ein wenig Smalltalk im Chat.
Kommentare
- Ich bin mir ziemlich sicher, dass ich hier etwas falsch verstanden habe. Bitte überprüfen Sie diesen Chat hier . Hat es abgefangen, weil mein Blog auf Root-Ebene war und so etwas wie www.hello.com/blog/ bedeutet?