redirect auf eine subdomain

URLs umschreiben, umleiten, blocken oder sperren - all das und noch viel mehr kann mit mod_rewrite erreicht werden. Mit regulären Ausdrücken, Conditions und Rules stehst Du auf Kriegsfuss? mod_rewrite macht nicht das was Du willst, oder funktioniert gar nicht? hier bist Du richtig!

Moderatoren: Bob, Super-Mod

redirect auf eine subdomain

Beitragvon n.arc » 07.02.2010 16:56

hallo, ich habe eine web comminity. die ich im moment auf eine subdomain umleite. damit die suchergebnisse in suchmaschinen weiterhin greifen, und keine 404er zu sehen sind, weil der inhalt nicht an dem platz ist wo es vorher war.

mein problem ist nun, ich habe einige ordern auf die ich weiterhin über www.domain.de/ordner zugreifen muss. bei meinem redirect funktioniert es nur leider nicht. auf grund dessen das die urls dynamisch generiert werden, kann ich leider für jeden link (3000 links) eine ausnahme festlegen.

gibt es einen befehl mit dem ich explizit die ordner die ich habe vom rewrite ausgrenzen kann? würde mich über eine antwort sehr freuen.

gruß, narc
n.arc
.
.
 
Beiträge: 16
Registriert: 14.10.2005 20:11

Beitragvon kartoffelkopf » 07.02.2010 17:26

Code: Alles auswählen
RewriteCond    %{REQUEST_FILENAME}  -d
RewriteRule    ^(.+[^/])$           $1/  [R]


Dateiordner, die physikalisch vorhanden sind, willst Du auch bebrowsen.
kartoffelkopf
.
.
 
Beiträge: 59
Registriert: 06.02.2010 15:03

Beitragvon n.arc » 07.02.2010 20:03

danke für die Antwort, leider funktioniert bei mir die regel nicht.

meine .htacces schaut im moment so aus
Code: Alles auswählen
AddDefaultCharset UTF-8

## Re-directing Begin
Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.subdomain.domain\.de$
RewriteRule ^(.*)$ http://subdomain.domain.de/$1 [L,R=301]
RewriteRule ^/(.*)$ http://subdomain.domain.de/$1 [R=301,L]   
RewriteCond    %{REQUEST_FILENAME}  -d
RewriteRule    ^(.+[^/])$           $1/  [R]

## Block pycurl bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^pycurl/ [NC]
RewriteRule .* - [F]


die ordner die von redirect nicht berührt werden dürfen, wärehn tipps und usektion

was mache ich falsch an den regeln? bekomme immer noch einen 404er, wenn ich auf den defenierten ordner verweise
n.arc
.
.
 
Beiträge: 16
Registriert: 14.10.2005 20:11

Beitragvon kartoffelkopf » 07.02.2010 22:26

n.arc hat geschrieben:danke für die Antwort, leider funktioniert bei mir die regel nicht.

meine .htacces schaut im moment so aus
Code: Alles auswählen
AddDefaultCharset UTF-8

## Re-directing Begin
Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.subdomain.domain\.de$
RewriteRule ^(.*)$ http://subdomain.domain.de/$1 [L,R=301]
RewriteRule ^/(.*)$ http://subdomain.domain.de/$1 [R=301,L]   
RewriteCond    %{REQUEST_FILENAME}  -d
RewriteRule    ^(.+[^/])$           $1/  [R]




Bis zur zweiten Condition kommt der Request erst gar nicht, weil mindestens beide Rules vorher den Request durch (.*) abfangen und dann mit L (LAST) das Rewrite beendet wird. Nimms halt vorher rein und beende diese ebenfalls mit LAST, sonst wird der Request immer noch virtuell umgeschrieben.
Also vielleicht:


Code: Alles auswählen
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.subdomain.domain\.de$
RewriteCond    %{REQUEST_FILENAME}  -d
RewriteRule    ^(.+[^/])$           $1/  [R,L]
RewriteRule ^(.*)$ http://subdomain.domain.de/$1 [L,R=301]
RewriteRule ^/(.*)$ http://subdomain.domain.de/$1 [R=301,L]   


Oder mit RewriteLog ueberpruefen, wie weit es tatsaechlich fuer die einzelnen Faelle umgeschrieben wird.
kartoffelkopf
.
.
 
Beiträge: 59
Registriert: 06.02.2010 15:03

Beitragvon n.arc » 08.02.2010 01:16

super, vielen Dank für deine Hilfe.
hat nicht auf anhieb funktioniert, nach dem auskommentieren von
Code: Alles auswählen
RewriteRule ^(.*)$ http://subdomain.domain.de/$1 [L,R=301]
jedoch so wie es sollte.

danke nochmal, hast mir wirklich viel kopfschmerzen erspart.
n.arc
.
.
 
Beiträge: 16
Registriert: 14.10.2005 20:11


Zurück zu mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron