Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

URL ändern in .htaccess

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
samsine
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 09.08.2008, 10:45
Wohnort: Braunschweig

Beitrag von samsine » 26.08.2008, 20:53

Hallo,

ich habe einige Änderungen vorgenommen.

Alte URL:
Neue URL:
https://meineSeite.de/webserver/expose.php?Sonniger Mittelhausteil im Norden von Hamburg&DSN=CF96171C-C6CF-45E8-BD45-8EB220F4346D

Welche Einstellungen benötige ich in der .htaccess, damit alles regelrecht umgeleitet wird?


geändert wurde:

Code: Alles auswählen

function getURL($url){

return $url."?PHPSESSID=".session_id();

}
in

Code: Alles auswählen

function getURL($url){

return $url."?";

}

und

Code: Alles auswählen

echo "<a href=\"".getURL&#40;"expose.php"&#41;."&DSN=$DSN\">Exposé ansehen";
in

Code: Alles auswählen

echo "<a href=\"".getURL&#40;"expose.php"&#41;."$HEADLINE&DSN=$DSN\">Exposé ansehen";

2. Problem:

sofern in der Headline Umlaute vorkommen, sieht es so aus:

Gruß und Dank
Samsine

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 27.08.2008, 09:10

samsine hat geschrieben:Alte URL: /webserver/expose.php?PHPSESSID=c064d842401f243683d994982cd20100&DSN=CF96171C-C6CF-45E8-BD45-8EB220F4346D

Neue URL: /webserver/expose.php?Sonniger Mittelhausteil im Norden von Hamburg&DSN=CF96171C-C6CF-45E8-BD45-8EB220F4346D

Welche Einstellungen benötige ich in der .htaccess, damit alles regelrecht umgeleitet wird?
Da du vermutlich weiterhin die gewünschte Seite über den Parameter DSN auswählst: Gar nichts, jedenfalls nicht für die Funktionsfähigkeit an sich.
sofern in der Headline Umlaute vorkommen, sieht es so aus:
/expose.php?Gepflegte%203%20Zimmer-Wohnung%20im%20S%FCden%20von%20Hamburg&DSN=AD43AA0C-6B55-4EA9-BE95-5C31D58CD4A6
Umlaute wie auch einen ganzen Haufen anderer Zeichen wirst du nicht als solche in den aufgerufenen URL-Pfad reinbekommen. Du könntest aber die am häufigsten vorkommenden ersetzen und die URLs somit etwas aufhübschen:

$HEADLINE = strtr($HEADLINE, Array("ä" => "ae", "ö" => "oe", " " => "_", usw.);
echo "<a href="".getURL("expose.php")."$HEADLINE&DSN=$DSN">Exposé ansehen";
Ganz schlechter Stil, und, falls die Überschriften nicht manuell geprüft werden, auch noch ein Sicherheitsrisiko für die Besucher. Sofern nicht absolut sicher ist, dass eine Variable keine der HTML-Sonderzeichen <, > oder & enthält, muss sie mit htmlspecialchars() vor der Ausgabe entschärft werden:

echo '<a href="' . getURL("expose.php") . htmlspecialchars(urlencode($HEADLINE)) . '&DSN=' . $DSN . '">Exposé ansehen';

$HEADLINE enthält beliebigen Text, muss also durch htmlspecialchars() gehen; $DSN wird vom Programm erzeugt und hat ein festgelegtes, sicheres Format, kann also ungefiltert raus.
$HEADLINE wird davon unabhängig auch noch durch urlencode() gejagt, da Umlaute & Co. wie geschrieben eigentlich nichts im URL-Pfad zu suchen haben.

samsine
PostRank 1
PostRank 1
Beiträge: 10
Registriert: 09.08.2008, 10:45
Wohnort: Braunschweig

Beitrag von samsine » 27.08.2008, 16:32

Danke für Deine ausführliche Erklärung :)
samsine hat geschrieben: Welche Einstellungen benötige ich in der .htaccess, damit alles regelrecht umgeleitet wird?
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.


Jetzt noch eine allg. Frage:

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
https://www.meineSeite.de/objekt1.php?dsn=F04FDE8F-3BB4-4CA5-8B95-BD2896275EF8&typ=1



Kann es mit Google Probleme geben (doppelten Content) ?

Ich muß leider etwas ausführlicher fragen, da ich durch unseren ehemaligen Webmaster bereits Probleme mit Google habe, da auf einer Seite versteckter Text vorhanden war :(
Nochmehr Ärger kann und möchte ich nicht riskieren.


Gruß
Samsine

Anzeige von ABAKUS

von Anzeige von ABAKUS »

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

Mork vom Ork
PostRank 9
PostRank 9
Beiträge: 2557
Registriert: 08.07.2008, 11:07
Wohnort: Aufm Friedhof.

Beitrag von Mork vom Ork » 28.08.2008, 09:53

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 %&#123;QUERY_STRING&#125; &#40;^|&&#41;PHPSESSID=
RewriteCond %&#123;QUERY_STRING&#125; &#40;?&#58;^|&&#41;DSN=&#40;&#91;0-9A-F-&#93;+&#41;&#40;?&#58;&|$&#41;
RewriteRule ^expose\.php$ alteurls.php?DSN=%1 &#91;L&#93;
In /webserver/alteurls.php:

Code: Alles auswählen

<?php
if &#40;isset&#40;$_GET&#91;"DSN"&#93;&#41;&#41; &#123;
    $dsn = $_GET&#91;"DSN"&#93;
    $titel = funktion_die_die_ueberschrift_mittels_dsn_holt&#40;$dsn&#41;;
    $titel = funktion_zum_aufhuebschen_der_titel&#40;$titel&#41;;
    header&#40;"HTTP/1.0 301"&#41;;
    header&#40;"Location&#58; http&#58;//example.com/webserver/expose.php?" . urlencode&#40;$titel&#41; . "&DSN=" . $dsn&#41;;
&#125;
else &#123;
    header&#40;"HTTP/1.0 500"&#41;;
    echo "<html><body><h1>Blöder Fehler</h1><p>In der Adresse fehlt ein notweniger Parameter.</p></body></html>";
&#125;
?>
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/&#40;&#91;0-9A-F-&#93;+&#41;/ webserver/expose.php?DSN=$1 &#91;L&#93;
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
https://www.meineSeite.de/objekt1.php?dsn=F04FDE8F-3BB4-4CA5-8B95-BD2896275EF8&typ=1
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 ;>

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag