Warum Permalinks mit /index.php/%postname% arbeiten, aber nicht mit% postname%?

Ich habe ein Problem mit WordPress-Permalinks. Ich ändere die Permalinks in hübsche Permalinks, aber ich bekomme gerade 404s für die Seiten. Das Seltsame ist, wenn ich /index.php/%postname% verwende, funktionieren die Seitenlinks gut, aber ich muss den index.php-Teil loswerden.

Ich habe gelesen, dass ich Änderungen an der httpd.conf-Datei vorgenommen habe, kann die Datei aber nirgends finden. Die htaccess Datei ist soweit ich es herausfinden kann richtig, sie ist unten

# BEGIN WordPress  RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]  # END WordPress 

Irgendwelche anderen Ideen?

Danke Emma

Solutions Collecting From Web of "Warum Permalinks mit /index.php/%postname% arbeiten, aber nicht mit% postname%?"

Ich hatte den richtigen Code in der .htaccess Datei, aber es wurde auch vollständig in der Ubuntu-Standarddatei /etc/apache2/apache2.conf überschrieben. Den Eintrag für / und /var/www von AllowOverride None auf AllowOverride All , Apache neu gestartet und jetzt funktioniert alles gut.

Meine Vermutung ist, dass mod_rewrite nicht aktiviert ist. Aktivieren Sie mod_rewrite je nachdem, welchen Server Sie verwenden.

Wenn Sie unter Linux arbeiten, bearbeiten Sie /etc/apache2/sites-enabled/000-default manuell und ändern Sie AllowOverride von None in All (oder wo sich das Verzeichnis Ihrer Site befindet).

Hier sollten an den Punkten 3 und 4 Lösungen für Windows sein.

Benutzen Sie Names.co.uk als Gastgeber?

Ich hatte gerade das gleiche Problem wie du, und nach ein paar Stunden Googeln fand ich heraus, dass sie einen Zeus- Server benutzen – nicht Apache – und sie unterstützt die Mod_ReWrite- function nicht. Dies scheint für die verwirrenden Symptome verantwortlich zu sein. (Ich hatte keine .htaccess Datei – aber keine Fehler, die von WordPress gemeldet wurden, wenn ich meine Permalink Einstellungen änderte.)

Sie haben einen Workaround für Zeus, der hier beschrieben wird:

http://www.names.co.uk/support/hosting/linux_hosting/1119-wordpress_rewrite_script.html

Ich weiß, das ist ein paar Monate nach dem ursprünglichen Post und du hast es wahrscheinlich schon getriggers – aber für jeden, der das in der Zukunft findet, wäre es eine gute Idee zu überprüfen, ob dein Host Zeus oder irgendeinen anderen Nicht-Apache verwendet Server.

Update: Bitte sehen Sie sich den Code an, den ich hier zu einer ähnlichen Frage gepostet habe

Versuchen Sie, den htaccess auf 777 zu setzen, gehen Sie dann hinein und aktualisieren Sie die Permalink-Einstellungen auf das, was Sie wollen, dann, wenn es funktioniert, gehen Sie zurück und ändern Sie es zurück in 644

Nachdem ich meinen Inhalt hinzugefügt hatte, fand ich einen Artikel, der vorschlug, die .htaccess Datei zu löschen, dann gehe zu Einstellungen / permalinks und entferne die index.php. Der Artikel sagte, WorPress würde einen Fehler geben, der vorschlägt, dass Sie die .htaccess-Datei erstellen. Ich beschloss, es zu versuchen, aber es tat nichts. Was ich herausgefunden habe ist, dass meine Permalinks immer noch mit der gelöschten .htaccess Datei arbeiten. Das hat mich zuerst verwirrt. Ich habe meinen FTP-Client geöffnet und zu meinen Dateien navigiert. Ich bemerkte, dass es dort eine .htaccess-Datei gab, nachdem ich sie gelöscht hatte. Ich weiß nicht, ob es WordPress, mein Hosting-Account oder was genau es erstellt hat, aber ich weiß, dass es neu ist. Das ist vorher nicht passiert. Sie können diese Methode versuchen, wenn alles andere fehlschlägt.

Ich war nicht in der Lage, das Problem in Ihrer Frage neu zu erstellen, also bin ich nicht 100% sicher, ob es für Sie funktioniert. Es ist einen Versuch wert.

Grüße, Jeremy Jared

Ersetzen Sie den .htaccess-Code folgendermaßen:

 # ------------------------------------------------------------------------- # Rewrite Engine options # ------------------------------------------------------------------------- RewriteEngine On RewriteCompatibility2 On RepeatLimit 200 RewriteBase RewriteRule ^/index.php$ / [NC,P,R=301] RewriteCond %{REQUEST_URI} !/wp-admin RewriteRule ^/(.*)/$ /index.php/$1 [NC] # Redirect 'www.yourblogsite.com/anything/anything/index.php' # to 'www.yourblogsite.com/anything/anything/' RewriteRule ^/(.*)/index.php$ /$1/ [NC,P,R=301] # ------------------------------------------------------------------------- # END REWRITES # ------------------------------------------------------------------------- 

Ich hatte immer noch die Anmeldeinformationen für einen Client, für den ich das beheben musste. Das habe ich für ihn benutzt. Es ist ein IIS-Server, ich bin mir nicht sicher, ob das wichtig ist, aber Sie können es versuchen. Viel Glück, JJ

Ich denke, dein Gastgeber benutzt ISS. ISS verwendet ” URL Rewrite ” und nicht ” mod_rewrite “. Schauen Sie sich den Codex an .

“Hübsche” Permalinks benötigen normalerweise mod_rewrite, und IIS (auf Windows-Servern üblich) unterstützt mod_rewrite nicht. (Wenn Sie Apache 2.0.54 unter Windows verwenden, funktioniert mod_rewrite möglicherweise, vorausgesetzt, es ist in apache \ conf \ httpd.conf aktiviert.)

Ich weiß, es ist zu spät, um jetzt zu antworten, aber wenn du immer noch danach suchst; Hier ist ein schneller Weg dazu:

Getriggers – How To Index.php aus WordPress URL auf IIS7 entfernen?

Ich hatte dieses Problem auf Mac OSX und das folgende war sehr nützlich. Es scheint, dass Macs standardmäßig nicht .htaccess-fähig sind und Apache ignoriert die Datei, bis bestimmte Dateien (die auf den folgenden Links angegeben sind) geändert werden:

http://wordpress.org/support/topic/getting-pretty-permalinks-working-on-a-mac-105-server

http://clagnut.com/blog/350/

Ich hoffe, das hilft!

Ich habe dieses Problem eine Zeit lang bekämpft, und heute habe ich dieses Problem getriggers. Ich habe herausgefunden, dass mein mod_rewrite nicht aktiviert wurde. Ich fand die Informationen auf diesem Link sehr nützlich. Es erklärt alles, wie man überprüft, ob das mod_rewrite aktiviert ist, und wenn nicht – wie man es aktiviert. Ich hoffe, dass diese Information für jeden nützlich ist, der neu in WP ist und Probleme damit hat, hübsche Permalinks zu setzen.

Dies ist für Apache-Server: Hi Zuerst Überprüfen Sie Ihren virtuellen Host, wenn Sie Standard verwenden, überprüfen Sie WordPress Root-Verzeichnis hat dies

   php_admin_flag engine on AllowOverride All Order allow,deny allow from all RewriteEngine On RewriteOptions Inherit Require all granted  

Überprüfen Sie Ihre .htaccess-Datei in WordPress Root hat die Erlaubnis zu lesen, schreiben (666) und enthält

 # BEGIN WordPress  RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]  # END WordPress 

Mod Umschreiben aktivieren (sudo a2enmod rewrite – für Linux Benutzer)

Aktualisiere nun die benutzerdefinierte Permalink-Struktur: /% postname% /

speichern und auf Fehler prüfen Jetzt sollte es funktionieren

Die meiste Zeit Problem ist, wird Ihre. Htaccess durch Ihre virtuellen Host-Regeln überschrieben