Seite 1 von 1

mod_rewrite & doppelter Content

Verfasst: 01.08.2005, 13:47
von otom
Hallo zusammen,

ich habe mir hier jetzt schon den Wolf gesucht nach einer praktikablen Lösung aber nichts wirklich Passendes gefunden.
Ich habe einen _root-Server und mehrere Domians mit wenigen MB Webspace.

Bei den Domains liegt jeweils nur eine Startseite im Hauptverzeichnis, die Inhalte lasse ich per .htaccess & mod_rewrite von meinem Server (über IP erreichbar) in die Domain-Unterverzeichnisse 'einblenden'.

So sind dann also die Inhalte sowohl über die IP meines Servers (https://xxx.xxx.xxx.xxx/community/) also auch über https://www.blablubb.de/community/ erreichbar und erscheinen doppelt in den Suchmaschinenergebnissen.

Gibt es noch andere Möglichkeiten für Suchmaschinen einen direkten Zugriff über die IP-Adresse zu verhindern als mit einer robots.txt?

Grüße tOm

Verfasst:
von
Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

mod_rewrite & doppelter Content

Verfasst: 01.08.2005, 20:25
von besserwisser
Hallo,

du kannst vielleicht in der htaccess des servers die Zugriffe auf deine Unterverzeichnisse nur von deinen eigenen Domains gestatten.

mod_rewrite & doppelter Content

Verfasst: 02.08.2005, 00:22
von otom
Hallo besserwisser,

danke für Deine Antwort.
Ich sollte kurz richtigstellen, dass www.blablubb.de keine meiner Domains ist. Ich habe das als Beispiel getippt und bin nicht davon ausgegangen dass die Domain tatsächlich registriert ist.

Wie auch immer, ich kann auf die IP direkt den Zugriff nicht generell verbieten. Sobald sich ein Benutzer einloggt leite ich auf die IP-Adresse (wg. Cookiedomain und Sessionmanagement).

Die Suchmaschinen kann ich per .htaccess auf dem Server auch nicht einfach generell aussperren weil die Datei dann ja auch in der TLD ( https://www.blubbbla.de/community/.htaccess ) eingeblendet ist und die Seite dann nicht mehr gespidert wird.

Geht das denn mit .htaccess, dass ich nur den Bots der wichtigsten Suchmaschinen einen Aufruf über die IP verweigere, den Besuchern aber uneingeschränkt Zugriff darauf zulasse?

Jetzt beim Schreiben fällt mir auf, dass ich es vielleicht auch mit php lösen könnte.
Sowas wie: if userLoggedIn() {Inhalte anzeigen} else {Header-Redirect auf die TLD-Inhalte} ...

301 ?

Weiß noch jemand einen anderen Lösungsansatz?

Grüße tOm

Verfasst:
von

Mod_Rewrite: So gehts.

Verfasst: 04.08.2005, 18:52
von IchBins
Hallo otom!

Versuch doch mal folgendes:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^xxx\.xxx\.xxx\.xxx/community$ [NC]
RewriteRule ^(.*) https://www.blablubb.de/community$1 [R=301]

Damit sollten alle Anfragen an https://xxx.xxx.xxx.xxx/community umgeleitet werden auf https://www.blablubb.de/community.

Bei mir funktioniert es einwandfrei, es kann aber je nach Serverkonfiguration sein, dass etwas geändert werden muss. Auf jeden Fall muss diese Regel ganz am Anfang deiner Htaccess stehen.

Gruss IchBins

mod_rewrite & doppelter Content

Verfasst: 05.08.2005, 10:14
von BerufSEO
so würde ich es auch machen.
Allerdings in die http.conf schreiben.
Das ist auf jeden Fall besser. Dann hast Du alle Regeln in einer Datei (der Übersicht halber). Ausserdem gibts Geschwindigkeitsvorteile.

mod_rewrite & doppelter Content

Verfasst: 05.08.2005, 12:34
von linux
oder mache es über den nameserver
cname müßte doch auch gehen dann erhalten alle die ip der cname domain

dazu noch was ichbis geschrieben hat

das sollte reichen

gruß

linux

Verfasst: 07.08.2005, 12:02
von otom
Danke für Eure Antworten.
Bis auf die cname-Änderung hatte ich alles schon durch ;-).

Das Problem ist, dass ein CMS läuft. Wenn sich ein Benutzer einloggt dann muss er auch die IP in der Adresszeile stehen haben weil sonst sein Sessioncookie verloren geht. Dann kann er sich zwar einloggen, steht auch als eingeloggt im Counter, sieht aber trotzdem noch die Seite als 'ausgeloggt'. D. h. Mitgliederblöcke fehlen, in den Foren ist kein Posting möglich, ...

Lange Rede - kurzer Sinn...
Der Zugriff auf die IP sollte nur gestattet sein wenn der User eingeloggt ist, ansonsten 301 auf die TLD (Für Suchmaschinen und nicht eingeloggte Besucher).

ich habs jetzt mit PHP gelöst:

Code: Alles auswählen

$real_url = "http://www.blablubbbla.de/community/";
	$datei = substr($_SERVER['REQUEST_URI'],strpos($_SERVER['REQUEST_URI'],"members/")+8,strlen($_SERVER['REQUEST_URI']));
	$url = $real_url . $datei;
	if( $_SERVER[HTTP_X_FORWARDED_HOST]!= "http://www.blablubbbla.de" ) {
		if (UserLoggedIn())  {
	 		head(); 
		}
	} 
	if ( $_SERVER[HTTP_X_FORWARDED_HOST]!= "http://www.blablubbbla.de" ) {
		if (!UserLoggedIn())  {
		header("HTTP/1.0 301 Moved Permanently");
		header("Location: $url");
		} 
	} 
	else if( $_SERVER[HTTP_X_FORWARDED_HOST] = "http://www.blablubbbla.de" ) { 
		head(); 
	}
Funktioniert wunderbar :lol:

Grüße!