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

301 - verzeichnis zu .html ohne "anhang"

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
valled
PostRank 4
PostRank 4
Beiträge: 108
Registriert: 29.04.2007, 13:47

Beitrag von valled » 10.09.2008, 17:56

hallo
hab folgendes problem mit modrewrite

mein ziel:

/blog/*alles* soll auf blog.html weitergeleitet. hab ich mit:

RedirectMatch ^/blog /blog.html [L,R=301]

gelöst.

nun aber mein problem:
gibt jemand z.b. www.domain.de/blog/?haha=123 ein so wird daraus: domain.de/blog.html?haha=123

wie krieg ich es hin das immer !!! nur auf blog.html ohne den "crap hinter der url " weitergeleitet wird?

vielen dank
grüße

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente 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 » 10.09.2008, 20:39

valled hat geschrieben:/blog/*alles* soll auf blog.html weitergeleitet. hab ich mit:

RedirectMatch ^/blog /blog.html [L,R=301]

gelöst.
Mal abgesehen davon, dass du da einen Schrägstrich hinter ^/blog vergessen haben musst (ansonsten wird's eine Endlosschleife), hat [L,R=301] nichts mit RedirectMatch zu tun, das sind Optionen für RewriteRule. Es wundert mich, dass der Apache das nicht nur schlucken, sondern dass es auch noch zum gewünschten Ergebnis führen soll.
gibt jemand z.b. www.domain.de/blog/?haha=123 ein so wird daraus: domain.de/blog.html?haha=123
RedirectMatch permanent ^/blog/ /blog.html?

oder, in /.htaccess:

RewriteEngine on
RewriteBase /
RewriteRule ^blog/ /blog.html? [L,R=301]

Die URL-Parameter werden in beiden Fällen entfernt, RewriteRule hat hier gegenüber RedirectMatch aber den Vorteil, dass auch das Fragezeichen selbst verschwindet.

valled
PostRank 4
PostRank 4
Beiträge: 108
Registriert: 29.04.2007, 13:47

Beitrag von valled » 10.09.2008, 20:58

hi,
danke für deine antwort.

also:
RedirectMatch ^/blog /blog.html [L,R=301] hat so 1a gefunzt


RedirectMatch permanent ^/blog/ /blog.html? -> da hängt jetzt imma ein ? dran und /blog/?123=123 klappt nachwievor: blog.html?123=123

das hier: klappt gar nicht oder muss das ins blog verzeichniss?

RewriteEngine on
RewriteBase /
RewriteRule ^blog/ /blog.html? [L,R=301]


danke
grüße
valentin

edit:
ich machs mit php:


function haskeys($array) {
$keys = array_keys($array);
$keys_count = count($keys);
$foo = $array['rw'] == 1 ? 1 : 0;
$ret = $keys_count > $foo ? TRUE : FALSE;
return $ret;
}
if(haskeys($_GET)){ echo"url enthält ?... exit,die();, redirect.. what ever\n";}

danke für deine hilfe
Zuletzt geändert von valled am 10.09.2008, 21:36, insgesamt 1-mal geändert.

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

Beitrag von Mork vom Ork » 10.09.2008, 21:33

Mmh, verkehrte Welt. Ich habe die beiden Vorschläge ausprobiert, hier funktionieren sie. Deine erste Fassung haut er mir hingegen um die Ohren.

Darauf, dass bei RedirectMatch das Fragezeichen noch dranhängt, hatte ich ja hingewiesen und deshalb die RewriteRule-Version empfohlen. Sie gehört in die oberste .htaccess.

valled
PostRank 4
PostRank 4
Beiträge: 108
Registriert: 29.04.2007, 13:47

Beitrag von valled » 10.09.2008, 21:37

ich machs mit php:


function haskeys($array) {
$keys = array_keys($array);
$keys_count = count($keys);
$foo = $array['rw'] == 1 ? 1 : 0;
$ret = $keys_count > $foo ? TRUE : FALSE;
return $ret;
}
if(haskeys($_GET)){ echo"url enthält ?... exit,die();, redirect.. what ever\n";}

danke für deine hilfe

ps: code stammt von nem programmierfreund :)

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag