Seite 1 von 1

RedirectMatch permanent und RewriteRule

Verfasst: Mo 23. Aug 2004, 09:42
von MyAccount
Hi,

ich hab hier wahrscheinlich einen kleinen Denkfehler drin. Ich bekomme ständig 500 errors, wenn ich die .htaccess-Datei so aufbaue.

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)_(.*)_(.*)_(.*)_(.*).html$ front_content.php?client=$2&lang=$3&idcat=$4&idart=$5
RedirectMatch permanent ^/start.php.*$ http://www.domain.tld/index.html
ErrorDocument 401 /error.php?error=401
ErrorDocument 403 /error.php?error=403
ErrorDocument 404 /error.php?error=404
ErrorDocument 500 /error.php?error=500
Stimmt die Reihenfolge der Befehle nicht, oder funktioniert Rewrite zusammen mit Redirect nicht?

Ich habe nämlich zwei Fliegen, die ich mit einer Klappe erschlagen muss.

1.) Wechsel von handgeschriebenen PHP-Internetseiten (start.php, info.php,...) auf Contenido.

2.) URL-Anpassung für Suchmaschinen von front_content nach *.html.

Kennt sich da jemand aus? Wäre echt dringend, da ich jetzt ständig Fehlermeldungen von den Bots bekomme, die die alten Seiten suchen.

Danke

Re: RedirectMatch permanent und RewriteRule

Verfasst: Mo 23. Aug 2004, 20:14
von emergence
MyAccount hat geschrieben:Stimmt die Reihenfolge der Befehle nicht, oder funktioniert Rewrite zusammen mit Redirect nicht?
bitte selbst ausprobieren, obs mit der reihenfolge zusammenhängt...
MyAccount hat geschrieben:Kennt sich da jemand aus? Wäre echt dringend, da ich jetzt ständig Fehlermeldungen von den Bots bekomme, die die alten Seiten suchen.
ähm da gibts ein wirklich gutes forum das solche anfragen wesentlich leichter beantworten kann ->
http://www.abakus-internet-marketing.de/foren/
(jetzt ohne werbung machen zu wollen...)

Verfasst: Mo 1. Nov 2004, 20:33
von MyAccount
Hallo emergence,

das Problem habe ich in den Griff bekommen.

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)_(.*)_(.*)_(.*)_(.*).html$ front_content.php?client=$2&lang=$3&idcat=$4&idart=$5
RedirectMatch permanent ^/alteindex.php.*$ http://www.domain.de/index.html
ErrorDocument 401 /error.php?error=401
ErrorDocument 403 /error.php?error=403
ErrorDocument 404 /error.php?error=404
ErrorDocument 500 /error.php?error=500
Wie, weiß ich nicht. Aber es lief dann so. :-)

http://domain.tld/startseite_99_99_999_.html

So kommen dann die URLs raus. Und es läuft sehr gut. Aber hast Du einen Tipp, wie ich hier noch einen Ebene mehr einbauen kann. Hier z.B. den Namen der Kategorie gefolgt vom '/' und dann z.B. den Artikelnamen.

http://domain.tld/kategoriename/artikel ... _999_.html

Ich habe hier immer ein Problem mit dem '/'.

Code: Alles auswählen

    $tpl->set('d', 'HREF',  $sess->url([b]$kategoriename.'/'.[/b]strtolower(str_replace (array("Ä", "Ö", "Ü", "ä", "ö", "ü", "ß", " "), array("Ae", "Oe", "Ue", "ae", "oe", "ue", "ss", "_"),$data['name'])).'_'.$client.'_'.$lang.'_'.$data['idcat'].'_'.$data['idart'].'.html'));
Wenn ich hier den Kategorienamen einfüge, dann gibt es logischerweise immer Schwierigkeiten mit den anderen Links in der Seite, weil die dann auf einmal glauben, sie seien eine Verzeichnisebene tiefer.

Das Ergebnis sieht dann so aus.

http://domain.tld/kategoriename/kategor ... _999_.html

Je nach dem wieviele Unterlinks ich habe, wird das dann immer mehr. Wie könnte ich das am besten umschiffen? Ich würde nämlich gerne den ganzen Kategorieverzeichnisbaum von einer gewissen Starteben an mit in der URL erscheinen lassen.

Gruß MyAccount

Verfasst: Di 2. Nov 2004, 14:03
von emergence
mit kategorien hab ich es noch nicht versucht...
tippe aber darauf das die links absolut gesetzt werden müssen ->
zb so:

Code: Alles auswählen

/cms/kategorie/blabla.html
oder so:

Code: Alles auswählen

http://myhost/cms/kategorie/blabla.html

Verfasst: Di 2. Nov 2004, 18:49
von MyAccount
Jo, das ist 'ne Idee. Ich habe mal davon gehört, dass der Trend eh zu absoluten URLs geht. Warum, kann ich aber nicht nachvollziehen. D.h. bei mir hier jerzt schon. :-)