Zur Navigation

Korrekte URL anzeigen

1 champagnero

Hallo Jörg
ich hoffe ich beschreibe alles richtig.

Im Root liegt ein Projekt. Für dieses Projekt habe ich mehrere Domainnamen "gebunkert".

In der .htaccess ist folgendes geschrieben um alles auf einen Domainnamen zu leiten.

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.Projekt1\.de
RewriteRule (.*) http://www.Projekt1.de/$1 [R=301,L]

Soweit so gut. Da ich noch Datenbanken zur Verfügung habe möchte ich in einem Unterordner ein neues Projekt2 anlegen. Das ganze mit Wordpress.

Klappt auch alles soweit.

Problem ist, daß jetzt bei Aufruf von Projekt2 die URL so dargestellt wird
http://www.Projekt1.de/Unterordner/

Korrekt soll es ganz normal www.Projekt2.de sein

Umgeleitet habe ich das im Backend von Strato. Ein weiteres Problem ist, daß Projekt2 eine Umlautdomain ist.
Wenn ich also in Wordpress versuche die URL- und Seitenadresse einzustellen bekomme ich einen weissen Bildschirm wenn ich die neue Domainadresse von Projekt2 eingebe. Oder aber ich lande im Login Bereich von Wordpress aber ein einloggen ist nicht mehr möglich.
Habe das ganze natürlich auch mit Punnycode versucht.

Ich verstehe das nicht. Liegt es eventuell an der .htaccess im Root?

Ich frage mich auch, wenn ich die neue Domain ohne Umlaut bunkere und dann in Wordpress versuche, das einzustellen ob es dann funktioniert. Weil ich meine, das das sonst eigentlich immer ganz gut funktioniert hat.

Ich bitte um deine Hilfe
Beste Grüße Sven

03.10.2013 19:47

2 Jörg

Liegt es eventuell an der .htaccess im Root?

Gut möglich. Der Inhalt einer .htaccess Datei wirkt sich immer auch auf die Unterverzeichnisse aus.

Die sauberste Lösung wäre es, jeder Domain ein eigenes Unterverzeichnis als DocumentRoot-Verzeichnis zuzuordnen.

03.10.2013 20:21

3 champagnero

Zitat von Jörg
Liegt es eventuell an der .htaccess im Root?

Gut möglich. Der Inhalt einer .htaccess Datei wirkt sich immer auch auf die Unterverzeichnisse aus.

Die sauberste Lösung wäre es, jeder Domain ein eigenes Unterverzeichnis als DocumentRoot-Verzeichnis zuzuordnen.

Okay.

Die saubereste Lösung würde ich gerne vermeiden, da das Projekt dort sehr wichtig ist und ich nichts tun möchte was dort Probleme verursachen könnte.

Kann ich das Problem nicht über die .htaccess im Unterordner lösen?
Leider bin ich da kein Experte, darum wäre es toll wenn du mir einen Tipp geben kannst.

Beste Grüße

03.10.2013 21:36 | geändert: 03.10.2013 21:54

4 Jörg

Die saubereste Lösung würde ich gerne vermeiden, da das Projekt dort sehr wichtig ist und ich nichts tun möchte was dort Probleme verursachen könnte.

Probleme entstehen dadurch, dass die DocumentRoot-Verzeichnisse nicht sauber getrennt, sondern ineinander verschachtelt sind

Falls das alles ist, was in der .htaccess des Hauptverzeichnisses steht:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.Projekt1\.de
RewriteRule (.*) http://www.Projekt1.de/$1 [R=301,L]


... reicht vielleicht eine zusätzliche Ausnahmeregel:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.Projekt1\.de
RewriteCond %{HTTP_HOST} !^(www\.)?Projekt2\.de [NC]
RewriteRule (.*) http://www.Projekt1.de/$1 [R=301,L]

Es ist aber nicht auszuschließen, dass künftige Änderungen dieser .htaccess Datei wieder unangenehme Folgen für Projekt2.de haben, solange diese in einem Unterverzeichnis von Projekt1.de angesiedelt ist.

03.10.2013 22:11 | geändert: 03.10.2013 22:12

5 champagnero

Okay super das funktioniert.

Unter www.Projekt2.de ist die URL nun korrekt aufrufbar. Auch mit Umlaut. Habe es mit Punnycode eingegeben.

Zwei Sachen sind mir jetzt aufgefallen. Wenn ich in der Browserzeile nur Projekt2.de ohne "www" eingebe erscheint eine weisse Seite.

Und um mich in den Wordpress-Admin Bereich einzuloggen muss ich immer noch über www.Projekt1/Unterordner/wp-admin gehen.

Spielt das für Google aus SEO-Sicht eine Rolle? Normal sollte ja Projekt2/wp-admin sein.

Beste Grüße

03.10.2013 23:00

6 Jörg

Zwei Sachen sind mir jetzt aufgefallen. Wenn ich in der Browserzeile nur Projekt2.de ohne "www" eingebe erscheint eine weisse Seite.

An der RewriteCond sollte dies nicht liegen, sofern du - wie in meinem Code - "(www\.)?" anstelle von "www\." verwendet hast

Und um mich in den Wordpress-Admin Bereich einzuloggen muss ich immer noch über www.Projekt1/Unterordner/wp-admin gehen.

Spielt das für Google aus SEO-Sicht eine Rolle? Normal sollte ja Projekt2/wp-admin sein.

Aus SEO-Sicht sollte das keine Rolle spielen, da der Backendbereich von Wordpress eh nicht indiziert werden sollte und kann.

Ich würde aber mal überprüfen, welche URLs Wordpress bei der Installation in den Eingabefeldern WordPress-Adresse und Seiten-Adresse gespeichert hat (unter Einstellungen > Allgemein)

04.10.2013 00:25 | geändert: 04.10.2013 00:27

7 champagnero

Hallo Jörg,

so jetzt erst wieder zum Testen gekommen. Vielen Dank für deine Hilfe. Du leistest hier wirklich großartigen Support! Musste ich mal loswerden.

Also bei der Wordpressinstallation ist bei WP-Adresse und WP-Seite jeweils www.projekt1/unterordner angegeben.
Egal wie ich das änder, entweder es bleibt beim Login über www.Projekt1/Unterordner/wp-admin oder es erscheint eine weisse Seite.

Damit könnte ich aber noch leben solange ich überhaupt ins Backend komme.

Die Geschichte, daß Projekt2.de ohne "www" nicht funktioniert bereitet mir aber Kopfzerbrechen. Den Code hab ich richtig übernommen. Gibt es noch eine Möglichkeit wie man das bewerkstelligen könnte?

Beste Grüße
Sven

05.10.2013 19:17

8 Jörg

Also bei der Wordpressinstallation ist bei WP-Adresse und WP-Seite jeweils www.projekt1/unterordner angegeben.

Dementsprechend möchte Wordpress die Seiten auch unter dieser URL anzeigen

Zur Änderung der URL findet sich auch ein Eintrag in den FAQ von Wordpress Deutschland:

http://faq.wpde.org/wordpress-url-aendern/

oder es erscheint eine weisse Seite.

Hier würde ich versuchen, die Ursache dafür zu ermitteln.

1. was für HTTP-Header übermittelt der Webserver? Die Header kannst du dir z.B. von dem Firefox-Addon Live HTTP Headers anzeigen lassen oder auch über diese Webseite:

http://web-sniffer.net/

2. gibt es PHP-Fehler bei Aufruf der Seite? falls du keinen Zugriff auf das Errorlog des Webservers hast, kannst du die PHP-Direktiven error_reporting und display_errors entsprechend setzen (lassen), damit die Fehlermeldungen direkt auf der Seite ausgegeben werden:

http://php.net/manual/de/function.error-reporting.php

http://www.php.net/manual/de/errorfunc.configuration.php#ini.display-errors

05.10.2013 22:14

9 champagnero

Das mit dem URL ändern hatte ich schonmal versucht, hatte aber nicht zum Erfolg geführt. Ich habe es aber bis jetzt nicht noch einmal versucht.

HTTP Header hänge ich mal hier an.

http://xn--coxarthrose-hftarthrose-opc.de/

GET / HTTP/1.1
Host: xn--coxarthrose-hftarthrose-opc.de
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Cache-Control: max-age=0

HTTP/1.1 200 OK
Date: Sun, 06 Oct 2013 20:17:52 GMT
Server: Apache/2.2.25 (Unix)
X-Powered-By: PHP/5.3.27
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html
----------------------------------------------------------
http://www.linkedin.com/cws/share-count?url=http%3A%2F%2Fcoxarthrose-h%C3%BCftarthrose.de%2F

GET /cws/share-count?url=http%3A%2F%2Fcoxarthrose-h%C3%BCftarthrose.de%2F HTTP/1.1
Host: www.linkedin.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Firefox/24.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: X-LI-IDC=C4; bcookie="v=2&52cfc7b0-b1a4-472d-89e3-bf00f51101e8"; visit="v=1&G"
Connection: keep-alive

HTTP/1.1 403 Access Denied
Date: Sun, 06 Oct 2013 20:17:52 GMT
Server: ATS
Cache-Control: no-store
Content-Type: text/html; charset=iso-8859-1
Content-Language: en
X-Li-Fabric: PROD-ELA4
access-control-allow-origin: http://www.linkedin.com
Content-Length: 249
Age: 0
Connection: keep-alive
X-Li-Pop: PROD-IDB2
X-LI-UUID: EBLlSKaeKhNQSLfNxyoAAA==
----------------------------------------------------------

Kannst du daraus erkennen was der fehler sein kann?

Ich habe auch Zugriff aufs Errorlog.
Die PHP Fehler beziehen sich auf Projekt1 und haben mit Ioncube loader zu tun. Falls es daran liegen kann können wir auch darauf genauer eingehen.

Beste Grüße
Sven

06.10.2013 22:24

10 Jörg

HTTP/1.1 200 OK
Date: Sun, 06 Oct 2013 20:17:52 GMT
Server: Apache/2.2.25 (Unix)
X-Powered-By: PHP/5.3.27
Keep-Alive: timeout=3, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

Einen HTTP-Fehler gibt es schon mal nicht, also ist vermutlich ein PHP-Fehler hier verantwortlich für die weiße Seite

Ich habe auch Zugriff aufs Errorlog.
Die PHP Fehler beziehen sich auf Projekt1 und haben mit Ioncube loader zu tun. Falls es daran liegen kann können wir auch darauf genauer eingehen.

Relevant sind insbesondere Fatal Errors, weil diese dazu führen, dass PHP die Ausführung komplett abbricht

Edit:

ich habe die URL mal aufgerufen - folgende Zeichen werden angezeigt, wenn man sich den Quellcode im Browser anzeigen lässt:



Das ist ein sogenannter BOM, der gerne von Windows-Editoren beim Speichern von UTF8-Dateien verwendet wird, und für PHP ein Stolperstein darstellt. Vermutlich findet sich dieser am Anfang der index.php

Auf dieser Seite wird die Frage behandelt, wie man dieses BOM unter Windows entfernen kann:

http://www.gartendatenbank.de/forum/i-bom-entfernen-schnell-einfach-utf-8-problem-codierung-t-150-1

Edit 2:

der BOM wird mir nur mit Firebug angezeigt, nicht in der normalen Quelltextanzeige des Browsers. Und er erscheint auch beim Aufruf der www.-Domain - ist also vermutlich doch nicht verantwortlich für die weiße Seite

06.10.2013 22:49 | geändert: 06.10.2013 22:56

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]