Seite 1 von 1
Parameter mit mod-rewritte killen?
Verfasst: 04.08.2007, 00:36
von nemoralis
Hallo,
ist es möglich, eine .htaccess zu schreiben, die parameter (falls vorhanden) aus der url entfernt? Ausgenommen muss /forum sowie /suche sein
Bei mir sind Seiten mit dem Schema "domain.de/unterseite.html?id=blubblub" im Index. Irgendjemand hat meine Page wohl so seltsam verlinkt, jetzt hab ich Angst vor einem möglichen DC-Problem.
Meine .htaccess bis jetzt:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domainasdf\.com$
RewriteRule ^(.*)$
https://www.domainasdf.com/ [L,R=301]
RewriteBase /
RewriteRule ^suche/index\.pl$ cgi-bin/search.pl
order allow,deny
allow from all
deny from 217.68.165. #gizliweb
deny from 217.20.117. #gizliweb
deny from 89.149.194. #gizliweb
deny from 208.101.13.210 #gizliweb
deny from 66.150.225.84 #redime.com
deny from 69.41.173.145 #webwarper
deny from 203.66.143.125 #tc2en.mojolingo.com.tw
Deny from 202.212.112.0/24
Deny from 217.20.117.0/24
Deny from 205.209.128.0/18
Deny from 210.51.165.9/24
Viele Grüße,
Florian
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 04.08.2007, 00:40
von smart
Bitte, Erst suchen dann Fragen
Verfasst: 04.08.2007, 00:56
von nemoralis
Welche Suchwörter hast du benutzt? Ich find nix...
Verfasst: 04.08.2007, 10:00
von MBDealer
Hi,
schreib doch einfach in die robots.txt die beiden Zeilen:
User-agent: *
Disallow: /*?
Das verhindert das die Bots die Seiten mit Parametern spidern. Hatte auch ein paar Seiten im Index jetzt sind sie weg.
Verfasst: 04.08.2007, 13:31
von chris21
Letzteres würde aber auch alle URLs mit Parameter im Ordner /forum vom Spidern ausschließen, zudem geht bei Nutzung der Robots.txt Variante auch die Linkpower futsch, da hier einfach das Spidern verboten wird anstatt umzulenken.
@Florian:
Es würde in die Richtung gehen:
# lässt Regel nicht im Forum Ordner gelten
RewriteCond %{REQUEST_URI} !^/forum(.*)
# lässt Regel nicht im Suche Ordner gelten
RewriteCond %{REQUEST_URI} !^/suche(.*)
# wählt URLs mit Parameter aus
RewriteCond %{QUERY_STRING} ^(.+)
# killt den Parameter
RewriteRule ^(.*)$
https://www.domainasdf.com/$1? [R=301,L]
Diese Anweisung zwischen "RewriteBase /" und der "RewriteRule ^suche/index\.pl$ cgi-bin/search.pl " packen und dann berichten, ob es funktioniert.
Bitte genau kopieren, wichtig sind u.a. die "!" in den RewriteCond zu forum und suche sowie das "?" am Ende der RewriteRule wodurch der Parameter gekillt wird.
Falls es noch irgendwo hakt, einfach nachfragen, habe das jetzt ohne Testen dahingeschrieben.
vg
chris
Edit: ein Sternchen in ein Plus verwandelt (Begründung siehe weiter unten)
Verfasst: 04.08.2007, 13:43
von nemoralis
Hallo & Vielen Dank,
ich werds heute testen und das Ergebnis hier rein posten.
(also das mit mod-rewritte aus dem letzten Post)
Danke auch für das mit der Robots.txt, die Suche hab ich damit schon ausgeschlossen, aber das ganze Forum mag ich dann doch nicht aus Google rausschmeißen.

Verfasst: 04.08.2007, 14:16
von chris21
Bei der Robots.txt kann man übrigens auch Foren-URls mit Parameter erlauben, während man andere ausschließt:
User-agent: *
Allow: /forum/*?
Disallow: /*?
(Hinweis: so was sollte man dann immer mit dem Robots.txt Analyse Tool in der Google Webmasters Zentrale überprüfen)
Trotzdem ist mod_rewrite vorzuziehen, da dann kein Linkpower verschenkt wird.
Verfasst: 04.08.2007, 20:00
von nemoralis
Hallo,
leider funktioniert die .htaccess nicht ganz.
Sie erzeugt keinen Fehler, aber der Server liefert keine Daten mehr.
(ob ein header kommt? hab leider kein programm um das zu testen)
gehe ich hingegen in das verzeichnis /forum, so zeigt es das Forum an,
aber ohne bilder und css datei (liegen ausserhalb des ordners /forum)
Hier nochmal die .htaccess wie sie jetzt aussieht:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.asdf\.com$
RewriteRule ^(.*)$
https://www.asdf.com/ [L,R=301]
RewriteBase /
RewriteCond %{REQUEST_URI} !^/forum(.*)
RewriteCond %{REQUEST_URI} !^/suche(.*)
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^(.*)$
https://www.asdf.com/$1? [R=301,L]
RewriteRule ^suche/index\.pl$ cgi-bin/search.pl
(das order allow,deny am Ende mal weggelassen)
Viele Grüße,
Florian
Verfasst: 04.08.2007, 20:17
von chris21
Upps, habe schon einen Fehler entdeckt - die Abfrage, ob ein Query_String vorhanden ist, lässt gerade einen Query_String mit
null Zeichen zu, dadurch greift diese Kondition vermutlich immer, was zu einer Endlos-Schleife führen könnte.
ändere mal die Zeile:
RewriteCond %{QUERY_STRING} ^(.*)
in
RewriteCond %{QUERY_STRING} ^(.+)
und schau mal, ob es dann funktioniert.
Übrigens: header kannst Du einfach über
www.web-sniffer.net überprüfen.
Verfasst: 04.08.2007, 20:23
von nemoralis
Jetzt geht es, super danke!