2012-07-06 14 views
6

Ich habe einen Reverse-Proxy meiner Heroku App mit den folgenden in config.ru Setup verwaltetReverse-Proxy-Heroku App Wordpress-Blog

require ::File.expand_path('../config/environment', __FILE__) 
use Rack::ReverseProxy do 
    reverse_proxy /^\/blog(.*)$/, 'http://blog.domain.com$1', opts={:preserve_host => true} 
end 
run Appname::Application 

Dies ermöglicht meine Heroku App auf domain.com zu laufen und haben domain.com/blog erscheint als URL, während die Wordpress-Site blog.domain.com bedient wird. Großartig bis jetzt.

Die Wordpress-Website wird ordnungsgemäß geliefert, wenn Sie zu domain.com/blog gehen, aber wenn ich auf eine tiefergehende Seite wie ein einzelner Beitrag wordpress wähle einen Fehler. Ich benutzte Permalinks mit Datum und Titel in der URL des Formulars: domian.com/blog/2012/07/a-great-blog-post - Worpress scheint jetzt nicht so zu sein. Als ich die Links wieder auf das Formular domain.com/blog/?p=4 umgestellt habe, wird die Seite erfolgreich bedient.

Es scheint, als ob es nach dem inial domain.com/blog nicht richtig und nachlaufende Schrägstriche behandelt. Was ich seltsam finde, ist domain.com/blog/wp-admin (und die gesamte WP-Admin-App) funktioniert ohne irgendwelche Schluckauf.

Kann jemand irgendwelche grellen Probleme sehen, warum die Seiten/Post mit mehreren Schrägstrichen '/' Probleme verursachen könnten?

Vielen Dank im Voraus!

+0

Dies ist der Fehler Apache scheint zu werfen: Interner Serverfehler Der Server hat einen internen Fehler oder eine Fehlkonfiguration festgestellt und konnte Ihre Anfrage nicht abschließen. Wenden Sie sich an den Serveradministrator root @ localhost und informieren Sie ihn über den Zeitpunkt, zu dem der Fehler aufgetreten ist, und alles, was Sie möglicherweise getan haben, dass der Fehler verursacht haben kann. Weitere Informationen zu diesem Fehler sind möglicherweise im Fehlerprotokoll des Servers verfügbar. – cmetcalfe

+0

Ich benutzte Rack-Reverse-Proxy und neues Relikt sagt mir, dass Anfragen eine Menge Zeit dort verbringen, ich versuche jetzt https://github.com/ryandotsmith/nginx-buildpack die schlechte Sache ist, dass mit Einhorn während heute erklärt wird Puma ist der empfohlene Server. – juanpastas

Antwort

2

Nun, ich fand eine Lösung, aus welchen Gründen auch immer in den WP-Einstellungen für den Permalink, es mochte keine der Standardoptionen außer dem Formular, wo es den Beitrag durch ID abrufen kann. (http://www.domain.com/blog/?p=123)

Für SEO-Zwecke wollte ich den Titel des Beitrags in der URL sein. Also habe ich in das Feld der benutzerdefinierten Struktur eingegeben: /index.php/%postname%/

Es scheint, als ob es index.php für Wordpress benötigt, um das Routing richtig zu behandeln.

+0

Danke, habe meinen Tag gemacht. – user2681403