File .htaccess predefinito per WordPress?


14

I miei .htaccessfile stanno intercettando il .htaccessfile di WordPress .

Quali moduli e quali impostazioni (specificate da .htaccess) sono necessarie per il funzionamento di WordPress? In altre parole, dove posso trovare il .htaccessfile predefinito di WordPress ?


C'è l'articolo del codice WordPress sui htaccessfile.
Nicolai,

Risposte:


23

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 aiuti poco.


Per favore, vedi la chat qui su questo.

6

WordPress non contiene .htaccessin forma di file.

Le regole sono scritte in file per save_mod_rewrite_rules()funzione e sono generate da $wp_rewrite->mod_rewrite_rules().

Si noti che l'installazione su più siti ha regole diverse (più complesse) e sembra essere gestita in modo diverso.


+1 per la giusta direzione. Per favore, controlla se ho capito bene il problema con la mia risposta. Penso che la cosa centrale sia solo usare l'API Rewrite_WP, non reinventare la ruota con file .htaccess personali.


0

Usa il #wordpress di Freenode per trovare la documentazione appropriata, di solito nel /topic. Lì ho trovato la chiave Class WP_Rewrite qui , il wordpress.org ufficiale è il migliore fuorviante e di marketing. In ogni caso, non mescolare le regole di riscrittura di Apache con le regole di riscrittura di WP, sebbene la denominazione di WP sia probabilmente equivalente a Apache.

Gli stati dell'API WP_Rewrite

È possibile aggiungere regole per attivare la visualizzazione e l'elaborazione della pagina utilizzando questo componente. La piena funzionalità di un front controller non esiste, il che significa che non è possibile definire il modo in cui caricare i file modello in base alle regole di riscrittura.

quindi devi usare l'API per fare le modifiche, non sei sicuro di cosa significhi, ma penso che significhi che non puoi fidarti dei tuoi file .htaccess codificati - le cose possono cambiare anche con differenti versioni WD! Quindi usa l'API.

intercettando

Il codice qui presenta alcune condizioni se esiste il .htaccess -file - non il 100% delle loro inferenze perché non ben documentato e non può comprendere la denominazione lì, ma il messaggio centrale è probabilmente che il modo sicuro per mantenere le regole di riscrittura è usare l'API WP_Rewrite, WP potrebbe cambiare in futuro.

Ad esempio, una semplice riscrittura di Apache RewriteRule ^hello$ Layouts/hello.html [NC,L]è apparentemente qualcosa di simile add_rewrite("^hello$", "Layouts/hello.html"), non ho testato ma ho provato a seguire l'API di seguito:

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

Relazionato

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

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

  3. Grazie a toscho per l'assistenza qui , alcune chiacchiere in chat.


Sono abbastanza sicuro di aver frainteso qualcosa qui, per favore, rivedi questa chat qui . È stato intercettato perché il mio blog era su root-livello che significava qualcosa come www.hello.com/blog/?
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.