samsine hat geschrieben:Google hat bereits einige Objekte gelistet. Ich möchte lediglich sicher stellen, dass es mit Google keine Probleme gibt (doppelter Content), da die Objekte bislang ohne Headline in der URL stehen .... oder überhaupt gefunden werden.
Dann wirst du eine Funktion benötigen, die anhand einer DSN die Überschrift holt und damit die gewünschte Weiterleitung bastelt. Es wäre vermutlich sinnvoll, diese Weiterleitung in ein separates Skript auszulagern, in etwa so:
In /webserver/.htaccess:
Code: Alles auswählen
RewriteEngine on
RewriteBase /webserver/
RewriteCond %{QUERY_STRING} (^|&)PHPSESSID=
RewriteCond %{QUERY_STRING} (?:^|&)DSN=([0-9A-F-]+)(?:&|$)
RewriteRule ^expose\.php$ alteurls.php?DSN=%1 [L]
In /webserver/alteurls.php:
Code: Alles auswählen
<?php
if (isset($_GET["DSN"])) {
$dsn = $_GET["DSN"]
$titel = funktion_die_die_ueberschrift_mittels_dsn_holt($dsn);
$titel = funktion_zum_aufhuebschen_der_titel($titel);
header("HTTP/1.0 301");
header("Location: http://example.com/webserver/expose.php?" . urlencode($titel) . "&DSN=" . $dsn);
}
else {
header("HTTP/1.0 500");
echo "<html><body><h1>Blöder Fehler</h1><p>In der Adresse fehlt ein notweniger Parameter.</p></body></html>";
}
?>
In der .htaccess werden alle Aufrufe von expose.php dahingehend geprüft, ob sie den Parameter PHPSESSID enthalten. Falls ja, wird der DSN-Parameter ausgefiltert und anschließend das Weiterleitungsskript alteurls.php mit der DSN serverintern aufgerufen. Das Skript besorgt abschließend die eigentliche, für den Browser sichtbare Weiterleitung.
Die beiden funktionen_mit_den_langen_namen() sollten zentral gelagert werden, um sie sowohl in diesem Weiterleitungsskript als auch in expose.php und andernorts benutzen zu können. Die gleiche Funktion mehrmals an verschiedenen Orten zu implementieren, bringt nur Ärger, denn statt einer Stelle müssen bei Bedarf mehrere geändert werden - und dabei wird garantiert immer eine vergessen, was dann ins Durcheinander führt.
Ich möchte davon unabhängig an dieser Stelle anmerken, dass ich den URL-Aufbau auch in der neuen Form nicht für besonders gelungen halte. An /webserver/expose.php?Sonniger Mittelhausteil im Norden von Hamburg&DSN=BLA-0815 gefällt mir weder das Verzeichnis /webserver/ (dass da ein Webserver am werkeln ist, hat nix mit Immobilien zu tun, also überflüssig, also raus oder durch was Sinnvolles ersetzen), noch das Anhängen der DSN als URL-Parameter (dafür sind URL-Parameter nicht wirklich gedacht). Für die derzeitige Mode, die URL mit Text vollzustopfen, mag es Gründe geben - auch wenn ich da nicht so recht dran glaube bzw. der Meinung bin, dass, wenn alle einen SEO-Trick anwenden, es schon zu spät ist, daraus noch nennenswerten Nutzen zu ziehen.
Eine halbwegs ordentliche URL sähe zum Beispiel so aus (ordentlich wäre sie ohne den angehängten Text):
example.com/expose/CF96171C-C6CF-45E8-BD45-8EB220F4346D/Sonniger-Mittelhausteil-im-Norden-von-Hamburg
Mittels mod_rewrite ließe sich das einfach einbauen:
Code: Alles auswählen
RewriteEngine on
RewriteBase /
RewriteRule ^expose/([0-9A-F-]+)/ webserver/expose.php?DSN=$1 [L]
Dieser Code kann zusammen mit obigem Weiterleitungscode für alte URLs verwendet werden. Sinnigerweise müsste natürlich die Ziel-URL in obigem Weiterleitungsskript angepasst werden.
Die Objekte werden über 3 unterschiedl. Links gefunden.
1. Objektsuche (URL wie im Eingangspost)
2. Orte
3. Immobileinart
Die Punkte 2+3 rufen fürs Exposé eine gemeinsame Datei auf.
Die Url unterscheidet sich zu Punkt 1 lediglich durch den Wert (
Typ) und der
Datei
Kann es mit Google Probleme geben (doppelten Content)?
Mir ist nicht klar, warum die Suche nach verschiedenen Eigenarten zu unterschiedlichen URLs für dasselbe Objekt führt. Das macht für mich aus dem Blickwinkel, den ich momentan habe, noch keinen Sinn.
Nichtsdestotrotz: Nur weil auf zwei Seiten dieselbe Hütte beschrieben ist, wird noch niemand von Google erwürgt. Es kann schließlich gute Gründe dafür geben, zum Beispiel stellt eine Seite eine grobe Übersicht dar, die andere geht ins Detail. Dabei werden zweifelsohne die Daten der Übersicht nochmals in der Detailansicht auftauchen, aber das hat ja auch einen greifbaren Nutzen für den Leser.
Sollten expose.php und objekt1.php hingegen nahezu identischen HTML-Code ausliefern, könntest du dich schon alleine aus technischer (und meinetwegen auch kaufmännischer) Sicht fragen, warum du den doppelten Aufwand mit zwei Skripten betreibst, wenn eh das gleiche rauskommt.
Kurzum: Dein Aufbau erscheint mir nicht gut gewählt, aber so pauschal lässt sich das nicht beantworten, da müsstest du schon die zwei bzw. drei URLs konkret zur Ansicht verraten.
ich durch unseren ehemaligen Webmaster bereits Probleme mit Google habe
Na, der jetzige scheint noch weniger Ahnung zu haben, wenn du dir lieber hier umfangreiche Hilfe suchst als ihn zu beauftragen ;>