wake-up-neo.net

Nginx Rewrite Rule :: index.html wurde zu jedem Permalink hinzugefügt

Ich arbeite seit einigen Stunden daran, meine WordPress-Site auf einem sekundären VPS mit Nginx laufen zu lassen. Home ist geladen und der W3T-Cache funktioniert einwandfrei, aber die Permalinks sind immer noch defekt und jeder von ihnen führt zu einem 404:

404 Not Found
nginx/0.8.53

Im error.log habe ich gefunden

2012/12/22 01:06:16 [error] 16865#0: *2 "/home/user/domain.com/web-development/pdf2html-for-cforms/index.html" is not found (2: No such file or directory), client: 125.25.32.95, server: www.domain.com, request: "GET /web-development/pdf2html-for-cforms/ HTTP/1.1", Host: "www.domain.com", referrer: "http://www.domain.com/"

Index.html wird also immer noch nach jedem Permalink gesucht, wie es scheint.

Folgendes habe ich in /home/user/domain.com/wordpress.conf

    # WordPress single blog rules.
    # Designed to be included in any server {} block.

    # This order might seem weird - this is attempted to match last if rules below fail.
    # http://wiki.nginx.org/HttpCoreModule
    location / {
        try_files $

uri $uri/ /index.php?$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;
}

was ich aus dem WordPress Codex bekommen habe. Ich wollte den Nginx-Helper ausführen, der bei dem Problem mit dem WordPress-Permalink unter Nginx helfen soll, aber ich habe PHP 5.2 und 5.3 benötigt, also konnte ich nicht und ich wollte kein neues kompilieren PHP nur noch, da dies noch nicht mein Fachgebiet ist.

Kann jemand Probleme damit haben, meine benutzerdefinierte Permalink-Struktur /%category%/%postname%/ zum Laufen zu bringen?

Aktualisieren

Versuchte eine neue wordpress.conf-Lösung von Nginx Library

location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?q=$uri&$args;
}

Immer noch die index.html hinzugefügt. Und diese URL mit index.html kann natürlich nicht gefunden werden. Letzter Fehler:

2012/12/22 05:35:54 [error] 28148#0: *64 "/home/user/domain.com/web-development/dreamhost-vps-manager-forced-reboot-issues/index.html" is not found (2: No such file or directory), client: 125.25.32.95, server: www.domain.com, request: "GET /web-development/dreamhost-vps-manager-forced-reboot-issues/ HTTP/1.1", Host: "www.domain.com", referrer: "http://www.domain.com/"

Sie fragen sich, ob die Konfigurationsdatei geladen ist oder nicht. Wie kann man das überprüfen?

1
rhand

Die korrekten Umschreiberegeln für wordpress.conf lauten:

location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }

aber das Hauptproblem war die Lage. Ich habe in Dreamhosts Wiki falsch gelesen, wo ich diese wordpress.conf platzieren musste. Eine tolle Dame bei Dreamhost erklärte es mir. Ich bin sehr dankbar, dass sie mir dieses Versehen erzählt! Bei Dreamhost muss @ /home/user/nginx/domain.com angegeben werden. Danach habe ich einen Neustart als root mit /etc/init.d/nginx restart durchgeführt und jetzt schnurren die Permalinks wie ein Kätzchen!

1
rhand