hi,
ich habe meine alten in google indexierten urls:
http://www.kinder-archiv.de/detail/link-59.html
umgeschrieben, sodass sie nun den titel enthalten:
http://www.kinder-archiv.de/detail/Kidsact...edichte-59.html
(domain.de/detail/title-id.html)
weiterhin habe ich für die alten urls einen 301 redirect eingebaut, damit sie auf die neue url weiterleiten:
http://www.kinder-archiv.de/detail/link-59.html
das klappt auch wunderbar, solange die url keine umlaute besitzt, siehe hier:
http://www.kinder-archiv.de/detail/link-333.html
die umlaute sollten aber ersetzt werden damit die url so aussieht:
http://www.kinder-archiv.de/detail/Gluewue...n_e.V.-333.html
der code dafür sieht wie folgt aus:
require_once 'init.php';
CODE
if (ENABLE_REWRITE == 1)
{
preg_match ('`(\d+)\.htm[l]?$`', request_uri(), $matches);
// Determine link ID
$id = (!empty ($matches[1]) ? intval ($matches[1]) : 0);
$cdata2 = $db->GetRow("SELECT * FROM {$tables['link']['name']} WHERE `ID` = ".$db->qstr($id));
$ctree = $cdata2['TITLE'];
$umlaute = array("ä","ö","ü","Ü","Ä","Ö","ß"," ","Ä","Ö","&Uuml","&auml","ö","ü");
$keineuml = array("ae","oe","ue","Ue","Ae","Oe","ss", "_","Ae","Oe","Ue","ae","oe","ue");
$title2 = str_replace($umlaute, $keineuml, $ctree);
$aufruf = $_SERVER["REQUEST_URI"];
if($aufruf == "/detail/link-$id.html" || $aufruf == "//detail/link-$id.html")
{
header("HTTP/1.1 301 Moved Permanently");
header("Status: 301 Moved Permanently");
header("Location: [URL=http://www.kinder-archiv.de/detail/$title2-$id.html");]http://www.kinder-archiv.de/detail/$t...id.html");[/URL]
header("Connection: close");
exit();
}
}
ich habe die datei im ANSI format gespeichert. habe es auch im UTF und ISO format versucht, aber dann wird entweder nur quatsch angezeigt oder die ganze seite falsch interpretiert.
kann mir wer weiterhelfen?
grüße,
ven
ich habe meine alten in google indexierten urls:
http://www.kinder-archiv.de/detail/link-59.html
umgeschrieben, sodass sie nun den titel enthalten:
http://www.kinder-archiv.de/detail/Kidsact...edichte-59.html
(domain.de/detail/title-id.html)
weiterhin habe ich für die alten urls einen 301 redirect eingebaut, damit sie auf die neue url weiterleiten:
http://www.kinder-archiv.de/detail/link-59.html
das klappt auch wunderbar, solange die url keine umlaute besitzt, siehe hier:
http://www.kinder-archiv.de/detail/link-333.html
die umlaute sollten aber ersetzt werden damit die url so aussieht:
http://www.kinder-archiv.de/detail/Gluewue...n_e.V.-333.html
der code dafür sieht wie folgt aus:
require_once 'init.php';
CODE
if (ENABLE_REWRITE == 1)
{
preg_match ('`(\d+)\.htm[l]?$`', request_uri(), $matches);
// Determine link ID
$id = (!empty ($matches[1]) ? intval ($matches[1]) : 0);
$cdata2 = $db->GetRow("SELECT * FROM {$tables['link']['name']} WHERE `ID` = ".$db->qstr($id));
$ctree = $cdata2['TITLE'];
$umlaute = array("ä","ö","ü","Ü","Ä","Ö","ß"," ","Ä","Ö","&Uuml","&auml","ö","ü");
$keineuml = array("ae","oe","ue","Ue","Ae","Oe","ss", "_","Ae","Oe","Ue","ae","oe","ue");
$title2 = str_replace($umlaute, $keineuml, $ctree);
$aufruf = $_SERVER["REQUEST_URI"];
if($aufruf == "/detail/link-$id.html" || $aufruf == "//detail/link-$id.html")
{
header("HTTP/1.1 301 Moved Permanently");
header("Status: 301 Moved Permanently");
header("Location: [URL=http://www.kinder-archiv.de/detail/$title2-$id.html");]http://www.kinder-archiv.de/detail/$t...id.html");[/URL]
header("Connection: close");
exit();
}
}
ich habe die datei im ANSI format gespeichert. habe es auch im UTF und ISO format versucht, aber dann wird entweder nur quatsch angezeigt oder die ganze seite falsch interpretiert.
kann mir wer weiterhelfen?
grüße,
ven