wake-up-neo.net

wordpress permalinks funktioniert nicht

Ich habe die Permalink-Struktur auf /% postname%/aktualisiert und dies .htaccess wurde aktualisiert mit:

# 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

Ich bekomme aber immer noch 404 Fehler auf den Seiten. Gibt es andere Einstellungen, die ich ändern muss?

Edit: Wenn es hilft, scheint das Apache-Protokoll direkt im Permalink-Ordner zu suchen. I.e .:

[Wed Oct 16 11:12:32 2013] [error] [client xx.xx.xx.xxx] File does not exist: /var/www/exampledomain/news, referer: http://exampledomain.com/
30
babbaggeii

Für andere Personen, die auf dieser Seite landen - Ein anderes Problem könnte sein (wenn Sie Apache als Webserver verwenden), Ihre httpd.conf oder Ihre sites-available/sitename.conf-Datei muss bearbeitet werden.

Ihr Webverzeichnis muss der .htaccess-Datei erlauben, ihre Einstellungen zu überschreiben. 

suchen Sie in der Datei nach Ihrem Webverzeichnis - es wird in der Masse der conf-Datei gespeichert oder in einen VirtualHost-Abschnitt unterteilt.

<Directory /path/to/site>
     #add the following setting to allow .htaccess in your web dir to work
     AllowOverride FileInfo

     #other settings ---

</Directory>

Auf diese Weise können Sie WordPress-URLs beliebig in WordPress einrichten.

*** bearbeitet - Danke nietonfir Für das Update. Verwenden Sie zunächst die geringste Berechtigung. Wenn dies nicht funktioniert, ersetzen Sie AllowOverride FileInfo durch AllowOverride All.

68
MTLHD777

Es kann mehrere Dinge geben, die verhindern, dass die Umschreibungsregel funktioniert. Mein Ubuntu-Server brauchte 3 Dinge, um Permalinks zum Laufen zu bringen.

In neueren Versionen von Apache2 müssen Sie das Modul aktivieren:

Sudo a2enmod rewrite
Sudo service Apache2 restart

Möglicherweise müssen Sie auch die Datei Apache2.conf ändern. 

Sudo nano /etc/Apache2/Apache2.conf

Ändern Sie Ihre Webverzeichnis-Überschreibungsregel in AllowOverride All .

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Starten Sie danach den Dienst erneut. 

Die .htaccess-Datei im WordPress-Installationsverzeichnis muss im Besitz des Webservers sein oder lesbar/modifizierbar sein.

Dies kann durch Ändern des Eigentümers in www-data (in der Regel der Webserver-Benutzer) oder durch Ändern der Berechtigungen erfolgen.

Sudo chown www-data /var/www/wordpress-install/.htaccess 

OR

Sudo chmod 664 /var/www/wordpress-install/.htaccess

Melden Sie sich bei Ihrem Wordpress-Admin-Backend an und speichern Sie die Permalink-Einstellungen. Sie sollten hoffentlich funktionieren.

36
gan

Das ist jetzt gelöst. Ich hatte mod_rewrite nicht aktiviert. Also habe ich das gemacht:

$ Sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
  service Apache2 restart
$ service Apache2 restart
 * Restarting web server Apache2                                                                              
28
babbaggeii

verwenden Sie unten den .htaccess-Code. Geben Sie einfach Ihren Projektnamen (der sich im Verzeichnis www befindet) den folgenden Code ein

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /project_name/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /project_name/index.php [L]
</IfModule>

# END WordPress

Vielen Dank

6
Krunal Shah

Sie möchten Apache anweisen, Ihrer .htaccess-Datei zu folgen. Sie können dies tun, indem Sie die Apache.conf-Datei bearbeiten

$Sudo nano /etc/Apache2/Apache.conf

Blättern Sie nach unten zur Zeile Standardmäßig wird Folgendes angezeigt:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

Ändern Sie den Wert von AllowOverride in All. Jetzt wird es zu:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Drücken Sie Strg + x und drücken Sie y, um die Konfigurationsdatei zu speichern. Um diese Änderungen am Server vorzunehmen, aktivieren Sie zunächst die mod_rewrite mit.

$ Sudo a2enmod rewrite

Und dann den Server neu starten

$ Sudo service Apache2 restart

Erledigt!

Quelle: https://www.wst.space/riddling-with-wordpress-permalink-setup-issues/

6

Noch etwas zu prüfen, ob dies Ihr Problem beschreibt:

  • htaccess und mod_rewrite sind korrekt eingerichtet 
  • 404-Fehler bei einigen Permalinks, anderen jedoch nicht

Stellen Sie sicher, dass sich im selben Ordner wie Ihre Wordpress-Installation keine .php-Dateien oder -Verzeichnisse befinden, deren Namen mit einem Wordpress-Permalink übereinstimmen.

Wenn Sie beispielsweise die folgenden Wordpress-Seitenpermalinks haben:

 example.com/name_one/
 example.com/name_two/

das Verzeichnis, in dem sich Ihre Wordpress-Installation befindet, enthält die folgende Datei:

 name_one.php

dann wird dies das Ergebnis sein:

Noch wichtiger ist jedoch, dass die zweite URL gibt statt 404 eine name_one.php-Funktion aus}. Dies bedeutet, dass dieses Problem schwer zu diagnostizieren ist, da es die gleichen Symptome wie eine falsch geschriebene .htaccess-Datei geben kann.

0
Rick Gladwin

Benutzer von WAMP (Windows): Einige WAMP-Versionen (alle Versionen?) Aktivieren mod_rewrite nicht und erlauben standardmäßig nicht, SymLinks zu folgen. Um die erforderliche Funktionalität zu aktivieren, navigieren Sie zu Apache/conf/httpd.conf file. Öffnen Sie dazu mit einem Texteditor die Kommentarzeichen der Zeile LoadModule rewrite_module modules/mod_rewrite.so. Weiter unten in derselben Datei befindet sich ein Abschnitt, der mit der Zeile "Options FollowSymlinks" beginnt. Ändern Sie die zweite Zeile in diesem Abschnitt von "AllowOverride none" in AllowOverride all. Speichern Sie die bearbeitete httpd.conf und starten Sie alle WAMP-Module erneut. Ihre Permalinks sollten jetzt funktionieren.

Für weitere Informationen, Permalink-Probleme beheben

0
khurram

Ich war mit dem gleichen Problem konfrontiert und hatte noch etwas zu suchen. 

Was Sie tun müssen, damit Wordpress-Permalinks ordnungsgemäß funktionieren:

  1. Stellen Sie sicher, dass Sie über die richtigen Berechtigungsmodi für Dateien und Ordner in Ihrem WordPress-Verzeichnis verfügen:
    Sudo find . -type f -exec chmod 644 {} +
    Sudo find . -type d -exec chmod 755 {} + 

  2. Für die Permalink-Struktur stellen Sie sicher, dass mode_rewrite in Apache aktiviert ist:
    Sudo a2enmod rewrite
    Sudo service Apache2 restart

0
ganchclub

Noch eine andere Möglichkeit: Ich habe gerade mein macOS aktualisiert, das always die Apache-Konfigurationsdatei zusammenbricht. Unter anderem musste ich auch das mod_rewrite-Modul erneut aktivieren. Finden Sie die Zeile, die sagt:

#LoadModule rewrite_module libexec/Apache2/mod_rewrite.so

Und entferne den Hash, so heißt es:

LoadModule rewrite_module libexec/Apache2/mod_rewrite.so
0
Jeff

Wenn Sieauf Ubuntu eine neue oder geklonte Siteeinrichten, denken Sie daran, die Site-Konfigurationsdatei, z. /etc/Apache2/sites-available/your-file.conf in den /etc/Apache2/sites-enabled-Ordner, damit Apache es lädt.


Führen Sie einfach Folgendes aus: Sudo a2ensite your-file.conf, dann Sudo service Apache2 reload

Sudo a2dissite your-file.conf, um Symlink zu entfernen, d. h. die Konfiguration zu deaktivieren.

0
Magnus