Fișierul .htaccess implicit pentru WordPress?
Fișierele mele .htaccess
interceptează fișierul .htaccess
al WordPress-ului.
Ce module și ce setări (specificate în .htaccess
) sunt necesare pentru ca WordPress să funcționeze? Cu alte cuvinte, unde pot găsi fișierul .htaccess
implicit al WordPress?

Aici este codul implicit pentru acel fișier.
# 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
puteți verifica aici pentru fișierul htaccess implicit.
http://codex.wordpress.org/Using_Permalinks.
Mulțumesc. Sper că ajută puțin.

Te rog, vezi conversația aici despre asta.

!!! Răspunsul este învechit. Folosește noul : https://wordpress.stackexchange.com/a/250918/33667

Link actualizat: https://wordpress.org/support/article/using-permalinks/

WordPress nu conține fișierul .htaccess
ca formă implicită.
Regulile sunt scrise în fișier de către funcția save_mod_rewrite_rules()
și sunt generate de $wp_rewrite->mod_rewrite_rules()
.
Rețineți că instalarea multisite are reguli diferite (mai complexe) și pare să fie gestionată în mod diferit.

Folosește ultima versiune a fișierului .htaccess
implicit

Folosiți canalul Freenode #wordpress pentru a găsi documentația potrivită, de obicei în /topic
. Acolo am găsit informații despre Class WP_Rewrite
aici, wordpress.org oficial este în cel mai bun caz înșelător și orientat spre marketing. În orice caz, nu amestecați regulile de rescriere Apache cu regulile de rescriere WP, deși denumirea din WP provine probabil de la echivalentul Apache.
API-ul WP_Rewrite specifică
Puteți adăuga reguli pentru a declanșa vizualizarea și procesarea paginii folosind această componentă. Funcționalitatea completă a unui controller frontal nu există, ceea ce înseamnă că nu puteți defini modul în care se încarcă fișierele template pe baza regulilor de rescriere.
așadar trebuie să folosiți API-ul pentru a face modificări, nu sunt complet sigur ce înseamnă dar cred că înseamnă că nu vă puteți baza pe fișierele .htaccess codificate manual -- lucrurile se pot schimba chiar și cu versiuni diferite de WordPress! Deci folosiți API-ul.
interceptare
Codul de aici are câteva condiții dacă fișierul .htaccess există -- nu sunt 100% sigur de implicațiile lor deoarece nu sunt bine documentate și nu pot înțelege denumirile de acolo, dar mesajul central este probabil că modalitatea sigură de a menține regulile de rescriere este să folosiți API-ul WP_Rewrite, WordPress se poate schimba în viitor.
De exemplu, o rescriere Apache simplă RewriteRule ^hello$ Layouts/hello.html [NC,L]
este aparent ceva de genul add_rewrite("^hello$", "Layouts/hello.html")
, nu am testat dar am încercat să urmez API-ul de mai jos:
add_rewrite_rule (linia 19)
Adaugă o regulă de rescriere directă.
vezi: WP_Rewrite::add_rule() pentru descrierea detaliată.
din: 2.1.0
void add_rewrite_rule (string $regex, string $redirect, [string $after = 'bottom'])
string $regex: Expresie regulată pentru potrivirea cererii.
string $redirect: Pagina către care se face redirecționarea.
string $after: Opțional, implicit este 'bottom'. Unde să se adauge regula, poate fi și 'top'.
Legături conexe
http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api
Mulțumiri lui toscho pentru asistență aici, câteva discuții în chat.

Sunt destul de sigur că am înțeles greșit ceva aici, te rog să revezi această conversație aici. S-a interceptat pentru că blog-ul meu era la nivel root, adică ceva de genul www.hello.com/blog/?
