Direkt linken

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Direkt linken

Beitragvon heyhoo » 06.02.2006 18:46

Grüsst euch!

Ich bin neu hier und schon muss ich euch was fragen. Für einige ist das bestimmt ganz simpel, aber ich habe komischerweise mit mod_rewrite, Weiterleitung etc. meine Problemchen :shock: :x

Zur meiner Frage:

Wie und was muss man genau ändern damit zum Beispiel

http://www.linko.de/eintrag928.html - nicht mehr direkt verlinkt wird?

Oh man, ich werde noch verrückt.
:roll:
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon Bob » 06.02.2006 18:51

Aus einem anderen Beitrag von hete abgewandelt übernommen:
Code: Alles auswählen
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?linko\.de [NC]
RewriteCond %{HTTP_REFERER} !=""
RewriteRule ^ - [F]
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon heyhoo » 06.02.2006 18:58

Caterham hat geschrieben:Aus einem anderen Beitrag von hete abgewandelt übernommen:
Code: Alles auswählen
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?linko\.de [NC]
RewriteCond %{HTTP_REFERER} !=""
RewriteRule ^ - [F]


Hui, dass ging aber schnell.

Vielen Dank!
Ich werde das dann mal einbauen.

Muss nicht noch was in der Index.php - Datei geändert werden?
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon heyhoo » 06.02.2006 19:04

Leider ging das doch nicht. :shock:


So sieht meine htacces-Datei aus.
--------------------------------
RewriteEngine On
RewriteRule ^([0-9]+),?([0-9]+)?\.html$ index.php?c=$1&s=$2 [L]
---------------------------------

hab schon vieles probriert
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon Bob » 06.02.2006 19:04

Das Snippet blockiert jeden Link von außen, wo der Referer weder leer noch von deiner Seite kommt.
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon Bob » 06.02.2006 19:06

So sieht meine htacces-Datei aus.


Du hast das auch darüber gesetzt?

fixup hat geschrieben:RewriteEngine On
RewriteRule ^([0-9]+),?([0-9]*)\.html$ /index.php?c=$1&s=$2 [L]
Zuletzt geändert von Bob am 06.02.2006 19:07, insgesamt 1-mal geändert.
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon heyhoo » 06.02.2006 19:06

Caterham hat geschrieben:Das Snippet blockiert jeden Link von außen, wo der Referer weder leer noch von deiner Seite kommt.


Hm, und was kann man da tun? :o
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon Bob » 06.02.2006 19:09

Das kommt drauf an, was du genau erreichen möchtest... Wenn nur /eintrag[0-9].html einen 403 foprbidden erzeugen soll, muss die regEx entspr. angepasst werden:



RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?linko\.de [NC]
RewriteCond %{HTTP_REFERER} !=""
RewriteRule ^eintrag[0-9]+\.html$ - [F]
RewriteRule ^([0-9]+),?([0-9]*)\.html$ /index.php?c=$1&s=$2 [L]
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon heyhoo » 06.02.2006 19:14

Nein, ich bin schon ganz ducheinander.

Das ist hier die richtige htaccess - Datei

-------------------------

RewriteEngine On
RewriteRule ^cat(.*).html$ tipps.php?cat=$1
RewriteRule ^eintrag(.*).html$ tipps.php?action=rated&link_id=$1

-----------------------------------

Naja, ich möchte erreichen das nur direkt und ohne Fehler verlinkt wird.
Mehr ja nicht.

http://www.linko.de/eintrag928.html - ohne das eintrag.. so und so aufgerufen wird bis es weitergeleitet wird. Habe mir sagen lassen das es nicht so gut ankommt :D :fluchen:
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon heyhoo » 06.02.2006 19:29

Hat keiner mehr ne Ahung?

Der kleinste Fehler in der htaccess-Datei und schon geht es nicht :toben:

Bitte um Hilfe :shock:
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon Bob » 06.02.2006 19:36

Du meinst

<META HTTP-EQUIV='Refresh' Content=0;URL='http://www.gratisklingelton.net'>
soll durch einen 301-redirect abgeköst werden? das ist was ganz anderes...

ersteinmal, da nur IDs werwendet werden:
fixup hat geschrieben:RewriteEngine On
RewriteRule ^cat([0-9]+)\.html$ /tipps.php?cat=$1 [L]
RewriteRule ^eintrag([0-9]+)\.html$ /tipps.php?action=rated&link_id=$1 [L]


Dann musst du in deinem PHP-Script ansetzen und statt <META HTTP-EQUIV='Refresh'....:

Code: Alles auswählen
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.gratisklingelton.net");
nutzen.

Hat keiner mehr ne Ahung?
Ein Forum ist kein Livechat!
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon heyhoo » 06.02.2006 20:00

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.gratisklingelton.net"

ähm :shock:

ich kann doch nicht jede Seite die bei Linko gelistet ist im header setzen.
gibt es da nicht eine andere Möglichkeit?
heyhoo
.
.
 
Beiträge: 7
Registriert: 04.02.2006 02:41

Beitragvon Bob » 06.02.2006 20:07

Das musst du so implementieren, wie du auch das meta-Element generierst - irgendwo wirst du in PHP ja anhand der Id den Wert auslesen und dann einfügen...
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron