HTTP 404 mit postname permalink
Okay also ich habe gerade die erste Seite auf dieser Website. Es funktioniert, wenn ich die Standard-permalink-Einstellungen.
Wenn ich die permalink-Einstellungen zu verwenden Post-Namen, dann bekomme ich einen HTTP 404.
Ich bin mir nicht sicher, was schief gegangen ist oder wenn ich habe nichts gebrochen. Kann mir jemand helfen, fix?
Die Website gehostet wird, die auf apache.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Benutzt du XAMPP oder MAMP? Es gibt ein paar gemeinsame Probleme, die mit diesen Umgebungen, wie Sie aus dem WordPress-Codex: Befestigung Permalink-Probleme
Möglicherweise sehen Sie auch Permalinks ohne mod_rewrite wenn Ihre sandbox nicht
mod_rewrite
erhältlich.Apache
Wenn Sie Apache verwenden, gibt es in der Regel zwei andere übeltäter, um gebrochen permalinks:
.htaccess
nicht erzeugt wird (aufgrund der Berechtigungen) oder die Apache -AllowOverride
Richtlinie nicht aktiviert ist.Ersten, wenn Sie SSH in deinen server, sehen Sie einen generiert .htaccess-Datei im root? Wenn nicht, WordPress möglicherweise nicht über die Berechtigung zum schreiben der Datei. Es ist auch möglich, die Datei hat existieren, sondern, dass WordPress es nicht Bearbeiten kann. In jedem Fall können Sie
chmod
, dass die Datei (und erstellen, falls Sie nicht existiert) 666.Nächsten, sicherzustellen, dass Ihre Apache-Konfiguration hat die folgenden Einstellungen:
Schließlich, Lesen Sie durch die Befestigung Permalink-Probleme Abschnitt der WordPress-Codex. Es gibt einige andere Tipps und Anregungen, warum permalinks funktionieren möglicherweise nicht.
index.php
- Datei.In meinem Fall, Erstens hatte ich zum aktualisieren der
.htaccess
Datei in meinem Stammordner für die website:WordPress-macht das automatisch, wenn Sie schreiben, hat Berechtigung. Ansonsten werde es zu beschweren, es kann nicht schreiben, und geben Sie den obigen code-Beispiel so können Sie manuell aktualisieren die
.htaccess
.Danach bearbeitete ich die
apache2.conf
- Datei. In Linux, in der es sich befindet/etc/apache2/apache2.conf
, gibt es einen Abschnitt wie diesen:Ändern
AllowOverride None
zuAllowOverride FileInfo
.Schließlich führen Sie die folgenden Befehle:
Alle diese Schritte notwendig waren, um zu arbeiten.
AllowOverride FileInfo
war meine fehlende Stück.fand diesen Beitrag auf einer anderen Seite dazu beigetragen, viele Menschen, die bereits
Habe ich es endlich geschafft das problem zu lösen! Die Lösung: ich habe eine benutzerdefinierte permalink-Struktur http://kyl.fi/%category%/%postname%/. Ich entfernte die nachgestellten Schrägstrich (d.h. das Letzte /) und voila. Allerdings bin ich mir ziemlich sicher, dass ich eine permalink-Struktur mit der trailing-slash vor ohne Probleme, also ich bin immer noch verwirrt und wäre interessiert zu hören mehr über diese Angelegenheit, wenn jemand hat eine Erklärung.
Alle standard-permalinks haben einen trailing /in gibt.
In meinem Fall, ich bin mit dem NGINX web-browser mit meiner WordPress-installation. Die Lösung ist, fügen Sie den folgenden code-snippet in das NGINX-Direktiven:
location /{
try_files $uri $uri//index.php?$args;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/permanent;
location ~* \.(jpg|jpeg|png|gif|css|js|ico)$ {
expires max;
log_not_found off;
}
Wenn Sie die ausgezeichnete (open-source) ISPconfig.org CPanel ersetzen, dann gehen Sie zu Ihrer Websites Seite unter der Registerkarte "Optionen", geben Sie den oben stehenden code-snippet für NGINX-Direktiven. ISPconfig hat eine Funktion zum hinzufügen von common-code-snippets für den schnellen Zugriff unter der Registerkarte "Optionen".
Nach oben Korrektur, ich war in der Lage, die Nutzung von WordPress-Permalinks Optionen.
Getestet Lösung:
in Ihrem apache2 config-Datei für das Beispiel:
Vergewissern Sie sich, param und nicht leer:
ServerName www.example.com or 123.212.333.111
Auch sicherstellen, dass Sie set-Verzeichnis Regeln, wie unten (rewrite-Regeln können nicht wirksam in die .htaccess damit Sie es hier zu setzen, und versuchen, herauszufinden, Warum .htaccess funktioniert nicht .htaccess funktioniert nicht apache):
Muss 2-Punkt-check:
1. Hinzufügen von code zu .htaccess-Datei: