Seite 1 von 1

301 mit Variabeln ?

Verfasst: 17.12.2004, 09:54
von Thor
Hallo,

wie bekomme ich einen 301 für eine dynamische URL hin. z.B. wie
https://domain.de/verzeichnis/dlgate.cg ... veto=datei

setze ich auf diese URL einen 301 leitet dieser alle Seiten weiter https://domain.de/verzeichnis/dlgate.cgi, die Variabeln ? und & werden leider nicht beachtet...

Verfasst:
von

Verfasst: 17.12.2004, 10:01
von bull
setze ich auf diese URL einen 301
Das ist alles etwas unpräzise - sofern Apache und [R=301] würde ich es noch mit [R=301,QSA] probieren?

Verfasst: 17.12.2004, 10:24
von Thor
Hallo bull,

es ist Apache, habe es bisher so versucht

Redirect 301 /verzeichnis/dlgate.cgi?datei=datei.exe&saveto=datei https://domain.de

und du meinst in etwa
RewriteEngine On
RewriteCond %{HTTP_HOST} = domain.de/verzeichnis/dlgate.cgi?datei=datei.exe&saveto=datei [NC]
RewriteRule ^(.*)$ https://domain.de [R=301,QSA] ???

Verfasst:
von

Verfasst: 17.12.2004, 10:37
von bull
Willst Du die Parameter also an domain.de mit übergeben?

RewriteEngine On
RewriteCond %{REQUEST_URI} verzeichnis/dlgate.cgi
RewriteRule ^.*$ https://domain.de%{QUERY_STRING}? [R=301,L]

macht also aus verzeichnis/dlgate.cgi?datei=datei.exe&saveto=datei --> https://domain.de/?datei=datei.exe&saveto=datei

Wenn Du aber verzeichnis/dlgate.cgi?.... (irgendwas im Querystring) einfach OHNE Querystring an domain.de umleiten willst (habs leider immer noch nicht ganz verstanden)

RewriteEngine On
RewriteRule verzeichnis/dlgate.cgi(.*)$ https://domain.de [R=301,L]

HTTP_HOST ist hier ganz falsch.

Verfasst: 17.12.2004, 11:24
von Thor
ich danke dir für deine Geduld :P

ich stelle Dateien zum Download zur verfügung. Dieser Download läuft über das Programm dlgate und erzeugt automatisch folgenden Link https://domain.de/verzeichnis/dlgate.cg ... veto=datei
bestimmte Dateien exestieren nicht mehr, doch einige Links von aussen verweisen auf genau diese URL. Für Google sieht es aus als wäre die Datei noch da :(
Es gibt aber noch andere Dateien
https://domain.de/verzeichnis/dlgate.cg ... eto=datei1
https://domain.de/verzeichnis/dlgate.cg ... eto=datei2
https://domain.de/verzeichnis/dlgate.cg ... eto=datei3
diese sollen natürlich nicht umgeleitet werden.
Erst wenn die User über diese Links gehen wird ein 404 erzeugt.
Wie bekomme ich jetzt ein 301 oder 404 auf genau diese Parameter ohne die restlichen zu stören

Code: Alles auswählen

RewriteEngine On 
RewriteRule verzeichnis/dlgate.cgi(.*)$ http://domain.de [R=301,L] 
Das schaut schon gut aus, nur müßte (.*)$ mit dem genauen Pfad "?datei=datei.exe&saveto=datei" übergeben werden.
Ein 404 kann ich nicht erzeugen, da der Link immer wieder vom Programm erzeugt wird.

Verfasst: 17.12.2004, 11:34
von bull
Ah, jetzt verstanden :idea:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{THE_REQUEST} verzeichnis/dlgate.cgi
RewriteCond %{THE_REQUEST} nichtmehrexistitierendedatei1 [OR]
RewriteCond %{THE_REQUEST} nichtmehrexistitierendedatei2 [OR]
RewriteCond %{THE_REQUEST} nichtmehrexistitierendedatei3
RewriteRule ^.*$ http://domain.de/ [R=301,L] 
Ungetestet. Man beachte das fehlende "OR" bei der ersten Cond, das wie ein AND wirken sollte - also dlgate.cgi AND (datei1 OR datei2 OR datei3). THE_REQUEST, da Querystrings dabei sind.

Gruß
jan

Verfasst: 17.12.2004, 12:45
von carnalito
Hallo zusammen,

soweit ich das überblicke willst Du eine weiterleitung über die .htaccess machen und die Parameter auch gleich mitschicken ?!

Das schaffst Du normalerweise schon mit den 'query-append' schalter:

RewriteRule ^.*$ https://domain.de/ [R=301,qsappend,L]

Grüsse

Hartmut

Verfasst: 18.12.2004, 20:27
von Thor
Danke euch, werde mal versuchen euere Tipps umzusetzen :D

Verfasst: 19.12.2004, 20:35
von Fridaynite
RewriteRule ^.*$ https://domain.de/ [R=301,qsappend,L]
Ach wär ich doch Sedo.. denen gehört diese Domain :-)

So oft wie das im Web diskutiert wird, sammeln die irgendwann soviele Links auf diese Domain, dass sie irgendwann mal ein 10er wird :-)