File .htaccess predefinito per WordPress?
I miei file .htaccess
stanno intercettando il file .htaccess
di WordPress.
Quali moduli e quali impostazioni (specificate da .htaccess
) sono necessari per il funzionamento di WordPress? In altre parole, dove posso trovare il file .htaccess
predefinito di WordPress?

Ecco il codice predefinito per quel file.
# 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
Puoi verificarlo qui per il file htaccess predefinito.
http://codex.wordpress.org/Using_Permalinks.
Grazie. Spero che questo aiuti un po'.

Per favore, guarda la chat qui a riguardo.

!!! La risposta è obsoleta. Usa quella nuova: https://wordpress.stackexchange.com/a/250918/33667

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

WordPress non contiene il file .htaccess
nella sua forma.
Le regole vengono scritte nel file dalla funzione save_mod_rewrite_rules()
e sono generate da $wp_rewrite->mod_rewrite_rules()
.
Da notare che l'installazione multisite ha regole diverse (più complesse) e sembra essere gestita in modo differente.

Usa l'ultima versione del file .htaccess
predefinito

Usa il canale Freenode #wordpress per trovare la documentazione appropriata, solitamente nel /topic
. Lì ho trovato la chiave Class WP_Rewrite
qui, il sito ufficiale wordpress.org è nel migliore dei casi fuorviante e orientato al marketing. In ogni caso, non mischiare le regole di rewrite di Apache con quelle di WordPress, anche se la nomenclatura di WP deriva probabilmente dall'equivalente di Apache.
L'API WP_Rewrite afferma
Puoi aggiungere regole per attivare la visualizzazione e l'elaborazione della tua pagina utilizzando questo componente. La funzionalità completa di un front controller non esiste, il che significa che non puoi definire come i file template vengono caricati basandoti sulle regole di rewrite.
quindi devi utilizzare l'API per apportare le modifiche, non sono completamente sicuro di cosa significhi ma penso voglia dire che non puoi fare affidamento sui tuoi file .htaccess codificati - le cose potrebbero cambiare anche con diverse versioni di WP! Quindi usa l'API.
intercettazione
Il codice qui ha alcune condizioni se il file .htaccess esiste - non sono sicuro al 100% delle loro inferenze perché non è ben documentato e non riesco a capire la nomenclatura, ma il messaggio centrale è probabilmente che il modo sicuro per gestire le regole di rewrite è utilizzare l'API WP_Rewrite, WP potrebbe cambiare in futuro.
Per esempio, una semplice regola di rewrite Apache RewriteRule ^hello$ Layouts/hello.html [NC,L]
è apparentemente qualcosa come add_rewrite("^hello$", "Layouts/hello.html")
, non l'ho testato ma ho cercato di seguire l'API qui sotto:
add_rewrite_rule (riga 19)
Aggiunge una regola di rewrite diretta.
vedi: WP_Rewrite::add_rule() per una descrizione completa.
da: 2.1.0
void add_rewrite_rule (string $regex, string $redirect, [string $after = 'bottom'])
string $regex: Espressione Regolare per confrontare la richiesta.
string $redirect: Pagina a cui reindirizzare.
string $after: Opzionale, predefinito è 'bottom'. Dove aggiungere la regola, può essere anche 'top'.
Correlati
http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api
Grazie a toscho per l'assistenza qui, alcune chiacchiere in chat.

Sono abbastanza sicuro di aver frainteso qualcosa qui, per favore, controlla questa chat qui. È stato intercettato perché il mio blog era a livello root, cioè qualcosa come www.hello.com/blog/?
