Auto.-Weiterleitung auf http://www.domain.de

oberdesigner

Grünschnabel
Hallo zusammen,

für die Site: http://www.domain.de
hab ich ein livesearch eingebaut, d.h. wenn man in das Suchfeld etwas eingibt, dann erhält man direkt Vorschläge, die man anklicken kann.

Soweit so gut.

Das funktioniert allerdings nur, wenn in der Adresszeile das www. vorhanden ist.


wenn dort aber nur http://domain.de steht, dann funktioniert die Livesuche nicht.

Frage:

wie kann ich (mit php?) erkennen ob das www. drin ist. Und wenn nicht, dann direkt weiterleiten auf http://www....

Ich hoffe ich hab mich hier verständlich ausgedrückt und jemand hat einen guten Tipp.

Gibt es vielleicht andere/bessere Wege statt Weiterleitung?

Danke euch!

Beste Grüße
 
PHP:
if (isset($_SERVER['HTTP_HOST']) && !preg_match('/^www\./', $_SERVER['HTTP_HOST'])) {
	header('Location: http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'], true, 301);
	exit;
}
 
Danke für deine schnelle Antwort.

hab den code genauso übernommen.
Sieht ja auch sehr gut aus, funktioniert aber leider nicht.

es zeigt leider keine Änderung.

muss ich vielleicht am preg_match was ändern?

Danke vorab!

//edit
Aha,

ich weiß jetzt auch warum der code keine Wirkung zeigt.

die Variable
PHP:
$_SERVER['HTTP_HOST']
zeigt immer http://www.domain.de
auch wenn in der Adresszeile http://domain.de steht.

Das ist echt komisch.

Muss ich vielleich bestimmte Servereinstellung vornehmen (lassen)?

Gruß
 
Das Problem kann man auch mit einer .htaccess Datei lösen:
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.domain.de/$1 [R=301,L]
So werden alle Anfrage die ohne www kommen sofort umgeleitet!
 
Falls du mit livesearch das von MS meinst, du kannst dir da auch einfach eine weitere Seite registrieren(ohne das www) ...müsstest dann per PHP nur ermitteln, welchen Key du zur Verifizierung ausgeben musst.
 
das funktioniert nahezu perfekt!

Danke!

habe das $1 der zweiten Zeile weggelassen, da er dann auf http://www.domain.de/domain umgeleitet hat - die seite gibt es aber nicht.

Jetzt leitet er alles ohne "www" auf die startseite um. ist zwar nicht die optimale Lösung aber besser als ganz ohne www.


Danke!
 
Komisches Verhalten des Server. Dann probier mal Folgendes:
Code:
RewriteCond %{HTTP_HOST} !^www\.druckerei-finden\.de$ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /([^\ ]*)
RewriteRule ^ http://www.druckerei-finden.de/%1 [R=301,L]
 
Zurück