Ich habe ehrlich erwartet, hierher zu kommen …
Ich habe jedes Werkzeug aus dem Buch ausprobiert …
Save changes
auf der permalinks
…
Ich habe debug this
installiert, debug this
zu sehen, was mit der query
…
Ich wiederholte andere Operationen und Änderungen an Konfigurationen, aber ohne Erfolg.
Ich habe Stunden mit dem Lesen von .htaccess
Parametern sowie nginx
Serverblockkonfigurationen verbracht … nichts worx.
Mein menu
gibt weiter 404
sei denn, ich setze permalinks
auf plain
.
Ich bin auf linode VPS
, ubuntu 14.04
+ LEMP
Stack
Hier sind meine .htaccess
& meine Website-Configs …
.htaccess
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress order allow,deny allow from all # Leverage Browser Caching Ninja -- Starts here ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access 1 month" ExpiresByType application/javascript "access plus 1 year" # Leverage Browser Caching Ninja -- Ends here # compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
Nginx-Serverblock
server { server_name www.xxx.com xxx.com; root /home/alma/xxx.com; index index.php; include global/restrictions.conf; include global/wordpress_xxx.conf; error_log /var/log/nginx/xxx_error.log; access_log /var/log/nginx/xxx_access.log; }
global / wordpress_xxx.conf
# http://wiki.nginx.org/HttpCoreModule location / { #try_files $uri $uri/ /index.php?$args; try_files $uri $uri/ /index.php?q=$uri&$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent; # Directives to send expires headers and turn off 404 error logging. location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; } # Pass all .php files onto a php-fpm/php-fcgi server. location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; if (!-f $document_root$fastcgi_script_name) { return 404; } fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # fastcgi_intercept_errors on; fastcgi_param PHP_VALUE "upload_max_filesize = 16M \n post_max_size=18M"; client_max_body_size 68M; include fastcgi_params; } location ~ ^/(wp-admin|wp-login\.php) { auth_basic "Welcome - Admin Restricted Content"; auth_basic_user_file /etc/nginx/.htpasswd; } location = /wp-login.php { deny all; try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PHP_VALUE "upload_max_filesize = 16M \n post_max_size=18M"; client_max_body_size 68M; }
global / restrictions.conf
# Global restrictions configuration file. location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ /\. { deny all; } location ~* /(?:uploads|files)/.*\.php$ { deny all; }
Das alles funktionierte vor dem letzten update
…
Ist jemand auf ein solches Problem gestoßen? Weiß jemand, wie man das triggers? Gibt es etwas in meiner Konfiguration, das das Problem nach dem update
auf 4.8 verursachen könnte?
Danke
Ps die Fehlerprotokolle zeigen nichts besonders …
Sie könnten versuchen, flush_rewrite_rules( $hard );
Achten Sie jedoch darauf, die function später zu entfernen.
https://codex.wordpress.org/Function_Reference/flush_rewrite_rules
Ich habe diese Probleme schon früher mit einigen meiner Seiten erlebt, als ich sie auf einen anderen Server übertragen habe.
Hier ist was ich getan habe. Bearbeiten Sie Ihre apache2.conf
im Ordner /etc/apache2/
.
Führen Sie den folgenden Befehl aus:
nano /etc/apache2/apache2.conf
Scrollen Sie nach unten und suchen Sie diesen Abschnitt mit einem Kommentar:
# your system is serving content from a sub-directory in /srv you must allow # access here, or in any related virtual host.
Stellen Sie sicher, dass dies die darin ist:
Options Indexes FollowSymLinks AllowOverride all Require all granted
Kurz gesagt, gewähre es. Für Ihre Permalinks nicht zu versagen.
-Dave