Domyślny plik .htaccess dla WordPress?


15

Moje .htaccesspliki przechwytują .htaccessplik WordPress .

Jakie moduły i jakie ustawienia (określone przez .htaccess) są wymagane do działania WordPress? Innymi słowy, gdzie mogę znaleźć domyślny .htaccessplik WordPress ?


Istnieje kodeksowy artykuł WordPress na temat htaccessplików.
Nicolai

Odpowiedzi:


24

Oto domyślny kod tego pliku.

# 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

możesz to sprawdzić tutaj, aby uzyskać domyślny plik htaccess.

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

Dzięki. Mam nadzieję, że to niewiele pomoże.


Proszę zobaczyć czat tutaj na ten temat.

6

WordPress nie zawiera .htaccessw formie pliku.

Reguły są zapisywane do pliku według save_mod_rewrite_rules()funkcji i generowane przez $wp_rewrite->mod_rewrite_rules().

Należy pamiętać, że instalacja na wielu serwerach ma inne (bardziej złożone) reguły i wygląda na to, że jest obsługiwana inaczej.


+1 dla właściwego kierunku. Sprawdź, czy dobrze zrozumiałem problem z moją odpowiedzią. Myślę, że najważniejsze jest po prostu użycie interfejsu API Rewrite_WP, a nie ponowne tworzenie koła z osobistymi plikami .htaccess.


0

Użyj #wordpress Freenode, aby znaleźć odpowiednią dokumentację, zwykle w /topic. Nie znalazłem klucz Class WP_Rewrite tutaj , urzędnik wordpress.org jest w najlepszym mylące i marketingu. W każdym razie nie mieszaj reguł przepisywania Apache z regułami przepisywania WP, chociaż nazwa WP prawdopodobnie pochodzi od Apache.

Stany interfejsu API WP_Rewrite

Możesz dodać reguły, aby uruchomić wyświetlanie strony i przetwarzanie przy użyciu tego komponentu. Pełna funkcjonalność kontrolera frontowego nie istnieje, co oznacza, że ​​nie można zdefiniować sposobu ładowania plików szablonów na podstawie reguł przepisywania.

więc musisz użyć interfejsu API, aby wprowadzić zmiany, nie jestem do końca pewien, co to znaczy, ale myślę, że oznacza to, że nie możesz ufać swoim zakodowanym plikom .htaccess - wszystko może się zmienić nawet przy różnych wersjach WD! Więc użyj interfejsu API.

przechwytywanie

Kod tutaj ma pewne warunki, jeśli plik .htaccess istnieje - nie 100% ich wniosków, ponieważ nie jest dobrze udokumentowany i nie może zrozumieć tam nazewnictwa, ale centralnym komunikatem jest prawdopodobnie to, że bezpiecznym sposobem na utrzymanie reguł przepisywania jest użycie WP_Rewrite API, WP może ulec zmianie w przyszłości.

Na przykład proste przepisywanie Apache RewriteRule ^hello$ Layouts/hello.html [NC,L]jest najwyraźniej czymś podobnym add_rewrite("^hello$", "Layouts/hello.html"), nie testowałem, ale próbowałem postępować zgodnie z API poniżej:

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

Związane z

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

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

  3. Dzięki toscho za pomoc tutaj , trochę drobnych rozmów na czacie.


Jestem pewien, że coś tu źle zrozumiałem, proszę przejrzyj ten czat tutaj . Czy przechwycił, ponieważ mój blog był na poziomie root, co znaczy coś takiego jak www.hello.com/blog/?
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.