Poprawne łącza bezpośrednie i błąd 404 — WordPress Development Stack Exchange
![Poprawne łącza bezpośrednie i błąd 404 — WordPress Development Stack Exchange](https://oen.pl/wp-content/uploads/2023/01/apple-touch-icon@2.png)
WordPress Development Stack Exchange to strona z pytaniami i odpowiedziami dla programistów i administratorów WordPress. Rejestracja zajmuje tylko minutę.
Zarejestruj się, aby dołączyć do tej społeczności
Każdy może zadać pytanie
Każdy może odpowiedzieć
Najlepsze odpowiedzi są głosowane i wznoszą się na szczyt
Spytał
Oglądane714 razy
Mam płatną wtyczkę, która tworzy niestandardowe kategorie i posty w tych kategoriach. Chcę uzyskać adresy URL takie jak site_name/category_name/post_name
. Ta wtyczka tworzy linki w następujący sposób:
dla kategorii – site_name/category_name
- Pozycja listy dla postów –
site_name/category_name
Zainstalowałem wtyczkę Permalinki niestandardowego typu posta, skonfigurowałem to. Kiedy klikam link do posta, mam stronę motywu 404 (nie serwera). Ale adres URL ma rację. Na stronie edycji postu bezpośredni link też ma rację. Strony wyświetlają się poprawnie.
Nie mogę zmienić żadnego pliku płatnej wtyczki ani motywu (jest to już motyw potomny). Czy mogę rozwiązać problem z .htaccess lub mb w inny sposób? PS Nawiasem mówiąc, próbowałem już skonfigurować łącza bezpośrednie w Ustawienia->Łącza bezpośrednie->Struktura niestandardowa, ale wynik jest taki sam.
1
Jest to częsty problem (który właśnie skończyłem naprawiać). Wydaje się, że pojawia się na kilka różnych sposobów. Wydaje się, że niektóre osoby mogą to naprawić, wybierając domyślny format łącza bezpośredniego, a następnie przełączając się z powrotem na preferowany.
W moim przypadku problem polegał na tym, że nie miałem poprawnie włączonego mod-rewrite. Po wykonaniu kroków opisanych w tym poście problem został rozwiązany.
Myślę, że mogłem też zrobić [this change](Linki do kategorii nagle zaczęły dawać błędy 404), ale jestem prawie pewien, że w pełni włączyłem przepisywanie modów, które załatwiło sprawę.
Linki bezpośrednie wymagają mod_rewrite na serwerze WWW i powinny działać po kliknięciu przycisku Zapisz na ekranie Ustawienia > Łącza bezpośrednie z pulpitu administratora WP.
Ze względu na różne wtyczki lub aktualizacje, struktura permalinków może czasem ulec uszkodzeniu, a strony 404 są wyświetlane na wcześniej działających adresach URL. Możesz ponownie zapisać bezpośrednie linki z zaplecza.
Istnieje również zautomatyzowana poprawka, dodająca ten kod do index.php :
if (is_404())
{
global $wp_query;
$page_slug = $wp_query->query_vars['name'];
if ($page_slug)
{
$page = get_page_by_path($page_slug);
if ($page) $wp_rewrite->flush_rules(true);
}
}
Spowoduje to opróżnienie reguł, jeśli wykryje, że na istniejącej stronie wystąpił błąd 404.
domyślny