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>RewriteEngineOnRewriteBase/RewriteRule^index\.php$ -[L]RewriteCond%{REQUEST_FILENAME}!-fRewriteCond%{REQUEST_FILENAME}!-dRewriteRule./index.php [L]</IfModule># END WordPress
możesz to sprawdzić tutaj, aby uzyskać domyślny plik htaccess.
+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.
Użyj #wordpress Freenode, aby znaleźć odpowiednią dokumentację, zwykle w /topic. Nie znalazłem klucz Class WP_Rewritetutaj , 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()forlong description.
since:2.1.0void add_rewrite_rule (string $regex,string $redirect,[string $after ='bottom'])string $regex:RegularExpression to match request against.string $redirect:Page to redirect to.string $after:Optional,defaultis'bottom'.Where to add rule, can also be 'top'.
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/?
htaccess
plików.Odpowiedzi:
Oto domyślny kod tego pliku.
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.
źródło
WordPress nie zawiera
.htaccess
w 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.
źródło
Domyślny
.htaccess
plik można znaleźć na stronie https://wordpress.org/support/article/htaccess/ .źródło
Użyj #wordpress Freenode, aby znaleźć odpowiednią dokumentację, zwykle w
/topic
. Nie znalazłem kluczClass 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
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.
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ś podobnymadd_rewrite("^hello$", "Layouts/hello.html")
, nie testowałem, ale próbowałem postępować zgodnie z API poniżej:Związane z
http://codex.wordpress.org/Rewrite_API/add_rewrite_rule
http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api
Dzięki toscho za pomoc tutaj , trochę drobnych rozmów na czacie.
źródło