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

weiterleiten und verbieten bei .htaccess

Hier können Sie Ihre Fragen zum Thema Suchmaschinenoptimierung (SEO) / Positionierung stellen
Neues Thema Antworten
hagifreaky
PostRank 1
PostRank 1
Beiträge: 6
Registriert: 04.12.2007, 10:32

Beitrag von hagifreaky » 04.12.2007, 10:37

Hallo Leutz,

Habe ein problem. Ich hab es bisher nicht hinbekommen..
Es geht um folgendes:
Ich habe eine index.html und eine index2.html
Beim aufruf der seite wird die normale index.html aufgerufen. Für alle bis auf die leute die ich sperren will.
Ich möchte user sperren mit dem ip bereich : xxx.xxx.xxx.xxx - xxx.xxx.xxx. die sollen automatisch auf index2.html kommen. Wie mach ich das?
also sperren ist nicht das problem .

sollte so funktionieren:

Order deny,allow
Deny from xx.xx.
Deny from yy.yy.

#wie mach ich das, dass die leutz die gesperrt sind aber weiter geleitet werden auf index2.html ? oder von mir aus zu google geleitet werden ? ohne das die dämlich meldung kommt .. 404 error zugriff verweigert
weiß jemand wie genau die .htaccess datei aussehen muss? :roll:

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.


matin
PostRank 9
PostRank 9
Beiträge: 1427
Registriert: 08.09.2005, 15:16
Wohnort: Grünburg

Beitrag von matin » 04.12.2007, 13:05

bin mir grad nicht sicher, ob das mit mod_rewrite geht. ansonsten würde ich es mit php machen ...
https://suchmaschinentricks.at/ - Ziehen Sie die Aufmerksamkeit im Internet auf sich ...
Kaufe verschiedene Projekte mit entsprechendem Content - Kontaktaufnahme per PN

rg1
PostRank 5
PostRank 5
Beiträge: 303
Registriert: 16.05.2007, 11:20

Beitrag von rg1 » 04.12.2007, 15:35

Eins von beiden geht nur, entweder weiterleiten oder verbieten.
Besser du leitest mit per Apache-Modul weiter, als eine lahmarschige Scriptsprache zu bemühen, wenn es geht. Probiere mal das hier:

Code: Alles auswählen

#mod_rewrite
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^xx\.xx\.[0-255]\.([0-255]) 
RewriteCond %{THE_REQUEST} index\.html [NC]
RewriteRule (.*)index\.html /index2.html [R=301,L]
#ungetestet

hagifreaky
PostRank 1
PostRank 1
Beiträge: 6
Registriert: 04.12.2007, 10:32

Beitrag von hagifreaky » 04.12.2007, 16:11

ja, weiterleiten oder sperren.. kann man das aber nicht zu den einzelnen html seiten zuweisen ? also ich sage mal index.html ist gesperrt und index2.html ist aufrufbar und wird wenn index.html nicht aufrufbar ist index2.html gestartet ?

der script:
#mod_rewrite
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^xx\.xx\.[0-255]\.([0-255])
RewriteCond %{THE_REQUEST} index\.html [NC]
RewriteRule (.*)index\.html /index2.html [R=301,L]
#ungetestet


funktioniert bei mir nicht

rg1
PostRank 5
PostRank 5
Beiträge: 303
Registriert: 16.05.2007, 11:20

Beitrag von rg1 » 04.12.2007, 16:22

Wenn du für Besucher aus einem bestimmten IP-Bereich Anfragen nach index.html auf index2.html permanent weiterleitest, dürfte das genau der richtige Weg sein. So verstehe ich jedenfalls deine Beschreibung.
hagifreaky hat geschrieben:der script...funktioniert bei mir nicht
kannst du etwas ausführlicher werden? Vielleicht habe ich ja Lust, eine Lösung zu finden...

hagifreaky
PostRank 1
PostRank 1
Beiträge: 6
Registriert: 04.12.2007, 10:32

Beitrag von hagifreaky » 04.12.2007, 16:48

ich habe eine index.html eine index2.html und eine .htaccess. so ist der aufbau bei mir.. Das ganze läuft mit xampp (apache) auf einem windows server. die .htacces habe ich geöffnet und alles so eingetragen:

order allow,deny
allow from all
deny from 92.72.0.0/13
deny from 92.80.0.0/32
deny from 92.224.0.0/13
deny from 92.232.0.0/32
deny from 92.192.0.0/11
deny from 92.224.0.0/32
deny from 92.116.0.0/15
deny from 92.118.0.0/32
deny from 91.96.0.0/15
deny from 91.98.0.0/32
deny from 91.90.96.0/21
deny from 91.90.104.0/32
deny from 91.90.144.0/20
deny from 91.90.160.0/32
deny from 91.89.0.0/16
deny from 91.90.0.0/32
deny from 91.64.0.0/14
#mod_rewrite
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^xx\.xx\.[0-255]\.([0-255])
RewriteCond %{THE_REQUEST} index\.html [NC]
RewriteRule (.*)index\.html /index2.html [R=301,L]
#ungetestet

das war der erste versuch.. der ging nicht dann hab ichs einfach mal ohne den ganzen deny schnickschnack da du ja sagtest entweder sperren oder weiterleiten.. das hab ichs so versucht in der .htacces:

#mod_rewrite
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^xx\.xx\.[0-255]\.([0-255])
RewriteCond %{THE_REQUEST} index\.html [NC]
RewriteRule (.*)index\.html /index2.html [R=301,L]
#ungetestet

was könnt ich noch machen ? :-?

rg1
PostRank 5
PostRank 5
Beiträge: 303
Registriert: 16.05.2007, 11:20

Beitrag von rg1 » 04.12.2007, 17:23

Bereits mit mod_access ausgesperrte IP-Bereiche können nicht mehr mit mod_rewrite weitergeleitet werden.
Natürlich war 'xx.xx' nur ein Platzhalter.
Mit der CIDR-Notation habe ich leider nix am Hut, ich hoffe, du kannst das entsprechend anpassen.

Code: Alles auswählen

RewriteEngine On
# Kommt die Anfrage aus einer der folgenden IP-Bereiche?
RewriteCond %{REMOTE_ADDR} ^92\.72\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.80\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.224\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.232\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.192\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.224\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.116\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^92\.118\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^91\.96\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^91\.98\.0\. [OR] 
RewriteCond %{REMOTE_ADDR} ^91\.90\.96\. [OR] 
# usw. usf.
RewriteCond %{REMOTE_ADDR} ^91\.64\.0\.
# UND wird index.html angefordert?
RewriteCond %{THE_REQUEST} index\.html [NC]
# DANN erfolgt die Weiterleitung auf index2.html
RewriteRule (.*)index\.html /index2.html [R=301,L] 
In dieser Form sollte es klappen, wenn ein Syntaxfehler drin steckt, schlägt das gleich mit einem 500-Fehlercode zu Buche. Die IP-Bereiche sind noch anzupassen.

hagifreaky
PostRank 1
PostRank 1
Beiträge: 6
Registriert: 04.12.2007, 10:32

Beitrag von hagifreaky » 04.12.2007, 17:51

Danke für die hilfe :D

hab das jetzt soweit :

RewriteEngine on
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^92.72.0.0/13 [OR]
RewriteCond %{REMOTE_ADDR} ^92.80.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^92.224.0.0/13 [OR]
RewriteCond %{REMOTE_ADDR} ^92.232.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^92.192.0.0/11 [OR]
RewriteCond %{REMOTE_ADDR} ^92.224.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^92.116.0.0/15 [OR]
RewriteCond %{REMOTE_ADDR} ^92.118.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.96.0.0/15 [OR]
RewriteCond %{REMOTE_ADDR} ^91.98.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.96.0/21 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.104.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.144.0/20 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.160.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.89.0.0/16 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.64.0.0/1
RewriteRule ^.*$ index2.html[L]

aber irgendwo ist ein fehler drin.. bekomme die error 500 seite. hmm ..

rg1
PostRank 5
PostRank 5
Beiträge: 303
Registriert: 16.05.2007, 11:20

Beitrag von rg1 » 04.12.2007, 18:20

in der mod_rewrite-Syntax ist ein Punkt ein beliebiges Zeichen. Das Zeichen 'Punkt' muss in der IP-Adresse also maskiert werden.
92\.72\.0\. statt 92.72.0.

Zudem kann man offenbar keine CIDR-Notation verwenden, d.h. aus 92.72.0.0/13 wird 92.72.0.1 bis 92.79.255.255, wenn ich mich nicht verrechnet habe.
Daraus folgt:

Code: Alles auswählen

# 92.72.0.0/13
RewriteCond %{REMOTE_ADDR} ^92\.[72-79]\.[0-255]\.([1-255]) [OR]
# usw. usf.
# 91.64.0.0/14
RewriteCond %{REMOTE_ADDR} ^91\.[64-67]\.[0-255]\.([1-255])
# UND wird index.html angefordert?
RewriteCond %{THE_REQUEST} index\.html [NC]
# DANN erfolgt die Weiterleitung auf index2.html
RewriteRule (.*)index\.html /index2.html [R=301,L]

hagifreaky
PostRank 1
PostRank 1
Beiträge: 6
Registriert: 04.12.2007, 10:32

Beitrag von hagifreaky » 04.12.2007, 18:32

HILFE !! bitte auf deutsch nochmal :o
also wo ist ein punkt falsch oder muss eingesetzt werden in meiner .htaccess ?

RewriteEngine on
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^92.72.0.0/13 [OR]
RewriteCond %{REMOTE_ADDR} ^92.80.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^92.224.0.0/13 [OR]
RewriteCond %{REMOTE_ADDR} ^92.232.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^92.192.0.0/11 [OR]
RewriteCond %{REMOTE_ADDR} ^92.224.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^92.116.0.0/15 [OR]
RewriteCond %{REMOTE_ADDR} ^92.118.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.96.0.0/15 [OR]
RewriteCond %{REMOTE_ADDR} ^91.98.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.96.0/21 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.104.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.144.0/20 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.160.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.89.0.0/16 [OR]
RewriteCond %{REMOTE_ADDR} ^91.90.0.0/32 [OR]
RewriteCond %{REMOTE_ADDR} ^91.64.0.0/1
RewriteRule ^.*$ index2.html[L]


ich weiß das du das irgendwie anders gemacht hast, aber in google hab ich eine eite gefunden die das so beschreibt. gehts aber nicht.. also denk ich mal du hast recht :D Aber was genau muss ich jetzt ändern ? wo muss ein punkt rein =?

RewriteEngine on
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^92.72.0.0/13 [OR] soll dann so heißen ?

RewriteEngine on
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^92\.72\.0\. [OR]
RewriteCond %{REMOTE_ADDR} ^92\.80\.0\. [OR]
RewriteCond %{REMOTE_ADDR} ^92\.224\.0\. [OR]
RewriteCond %{REMOTE_ADDR} ^92\.232\.0\. [OR]
... und so weiter ..

Meintest du das so ? fehlt da nochwas?

rg1
PostRank 5
PostRank 5
Beiträge: 303
Registriert: 16.05.2007, 11:20

Beitrag von rg1 » 04.12.2007, 18:50

Ich gebe zu, das ist schon vertrackt.

Aus

Code: Alles auswählen

RewriteCond %{REMOTE_ADDR} ^92.72.0.0/13 [OR] 
wird

Code: Alles auswählen

RewriteCond %{REMOTE_ADDR} ^92\.[72-79]\.[0-255]\.[1-255] [OR] 
Aus

Code: Alles auswählen

RewriteCond %{REMOTE_ADDR} ^92.80.0.0/32 [OR] 
wird

Code: Alles auswählen

RewriteCond %{REMOTE_ADDR} ^92\.80\.0\.0 [OR] 
Die IP-Bereiche müssen eine nach der anderen von CIDR-Notation in IPv4-Notation umgewandelt werden. Wie gesagt bin ich darin nicht sonderlich bewandert. Ich hoffe, hier hängt sich gleich noch jemand mit rein, ich bewege mich langsam auf dünnem Eis. ;)

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag