2016-03-31 35 views
1

ich möchte meine Permalink-Struktur zu einem /% postname%/ändern, um Buddypress auf einem Wordpress-Website-Server zu verwenden.Wordpress permalinks 404 nicht gefunden

Nach ein paar Versuchen, ich einige Probleme und sogar mit meiner Suche in verschiedenen Forum, weiß ich nicht, wie man es löst.

Meine .htaccess Erlaubnis ist für die Probe 666, also muss Wordpress diese Datei ändern, aber wird nicht (letzte Akte, die bei meiner Serverinstallation geändert wird). In der Datenbank wurde die Permalinks-Struktur erfolgreich an% postname% übergeben.

Jetzt habe ich einen Fehler 404 in allen Seiten, die ich zugreifen möchte.

.htaccess-Datei:

# 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 Apache läuft, so die Vars Auswahl zu zwingen, i in der zu dieser modifizierte wp-include/vars.php:

//$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false); 
$is_apache = 1; 

Was ich jetzt machen?

#

EDIT: Ich habe es neu installiert, versucht, dies alles zu tun, und die gleiche Problem ... Apache ist Besitzer der Datei so verstehen wirklich nicht, ich ...

Antwort

1

Okay, ich habe die Frage gelöst.

Das Problem, und ich habe es nicht in meiner Problembeschreibung angegeben, ist ich Virtualhost (ich habe auch eine Überwachungswebsite in diesem Server, also wollte ich alle Aufgaben trennen, Protokolle etc. ...), und gibt es ein Problem mit Virtualhost und diese Anweisung:

RewriteBase /

in der Tat, diese Arbeit in normalen apache environnment aber nicht in Virtualhost.

Also, was ich tun musste, ist meine .htaccess-Inhalte auf der vhost conf.d Datei zu verschieben:

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName intranet.vdb.local 
    ServerAlias intranet 

    DocumentRoot /var/www/vhosts/intranet/html 

    ErrorLog /var/www/vhosts/intranet/logs/error.log 

    # Possible values include: debug, info, notice, warn, error, crit, 
    # alert, emerg. 
    LogLevel warn 

    CustomLog /var/www/vhosts/intranet/logs/access.log combined 

    <Directory "/"> 
     RewriteEngine On 
     AllowOverride None 
     Allow from 10.1.1.0/8 

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

    </Directory> 

</VirtualHost> 

Und auf diese Weise, ist es jetzt arbeiten!

enter image description here

Es tut uns sagen Sie nicht, dass es ein Virtualhost war, glaube ich nicht, es war wichtig für die Problemlösung, auch wenn ich sollte es ein Apache-Problem.

3

Wenn Sie Können Sie auf wp-admin panel zugreifen, dann versuchen Sie bitte, die Permalink-Struktur auf "Plain" zu aktualisieren und dann zu überprüfen, ob Sie immer noch 404 Seitenfehler bekommen oder nicht.

+0

, nicht über 4044 Fehler Auf diese Weise Apache-Server sudo Service apache2 restart neu starten eingesetzt, und die .htaccess ist geändert. Aber ich muss den postname Weg verwenden, um Buddypress zu verwenden. Und ich habe bemerkt, dass, wenn ich "/ index /% postname% /" folge, es funktioniert. Es ist immer problematisch, weil buddypress auf eine Verwendung mit /% postname%/so umprogrammiert ist, dass es mich auf 404 umleitet. –

+0

Wenn möglich dann bitte Stellen Sie Ihren Website-Link zur Verfügung –

+0

kann nicht, weil es ein Intranet ist, und ich habe nicht die Berechtigung, nach außen, Ereignis temporär umzuleiten –

0

Entsprechend der Wordpress-Berechtigung von .htaccess sollte 604 sein. Wenden Sie diese Erlaubnis an und überprüfen Sie es.

600 -rw------- /home/user/wp-config.php 
604 -rw----r-- /home/user/cgi-bin/.htaccess 
600 -rw------- /home/user/cgi-bin/php.ini 
711 -rwx--x--x /home/user/cgi-bin/php.cgi 
100 ---x------ /home/user/cgi-bin/php5.cgi 
1

sogar ich hatte das gleiche Problem, wenn ich meine Wordpress-Site in AWS Ubuntu Maschine mit Apache-Server bereitgestellt haben, müssen wir diese Zeilen in 000-Standard hinzufügen.conf wenn Sie Ihre Wordpress-Seite in/var/www/html

<Directory /var/www/html> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order allow,deny 
    allow from all 
    </Directory> 

dann müssen wir

Verwandte Themen