Subdomain über .htaccess anlegen

Bitte verlinke nicht auf existente Domains, die dir nicht gehoeren! Fuer Beispiele gibt es u.a. example.com/.net/.org

Na dann gebe den Pfad halt im Ziel der RewriteRule mit an.
Wenn da derzeit / als Zielpfad steht - wie koennte denn dann wohl die Angabe fuer /blog/ lauten …?

[quote]wenn www vor dem domain steht also http://www.meinedomain.net wird www auch als sub erkannt das möchte ich allerdings auch nicht sondern das wenn man http://www.xyz.meinedomain.net eingibt auch im Verzeichnis:
http://www.meinedomain.net/blog/xyz landet.[/quote]
Na dann mache ein fuehrendes www vor dem xyz halt optional, und beachte es nicht.

Hallo chrisb,

danke für deinen Tipp werde ich jedenfalls ab sofort beachten…

Ich hab das jetzt mal so geändert hatte ich zwar vorher schon bevor ich deinen Post gelesen hab funktioniert aber nicht ich hab bereits alle erdenkliche mir einfallenden
Möglichkeiten in der RewriteRule vorgenommen es funktioniert aber nicht…

[code]
RewriteCond $1.%{HTTP_HOST} ^(.*).\1.example.net$ [NC]
RewriteRule ^([^/.]+)/ - [L]

RewriteCond %{HTTP_HOST} ^(.*).example.net$ [NC]
RewriteRule ^ /blog/%1%{REQUEST_URI} [L,QSA][/code]

wie das gehen soll das www optional zu setzen hab ich leider absolut keinen Plan wäre
sehr nett von dir wenn du mir bei meinen Problemchen etwas weiterhelfen würdest…

Wie waer’s, wenn du erst mal die erste RewriteCond/-Rule-Kombination rausschmeisst - die sieht naemlich reichlich bloedsinnig aus. Oder hast du eine Erklaerung dafuer, wozu die gut sein soll?

Und um etwas optional zu machen, bieten regulaere Ausdruecke den Quantifier ? an, der “0- oder 1-faches Vorkommen des vorherigen Teilmusters” bedeutet.

RewriteCond %{HTTP_HOST} ^(.*)\.example\.net$ [NC] RewriteRule ^ /blog/%1%{REQUEST_URI} [L,QSA]

^^ wenn ich die 1 RewriteRule rausschmeiße funktioniert gar nichts mehr und wenn dann noch die 1 RewriteCond gekickt wird bekomm ich nen 500 Internal Server Error

http://www.modrewrite.de/foren/viewtopic.php?t=5985&sid=cce38215a8ff6131074117d1626e63db

Probier mal das:

RewriteCond %{HTTP_HOST} ^(?www\.)?(.*)\.example\.net$ [NC] RewriteRule ^(.*)$ /blog/%1%/$1 [QSA]
Die RewriteCond ignoriert erst mal das optionale www., und stellt das, was danach vor .example.net kommt (xyz), als Back Reference in %1 zur Verfuegung.
Die RewriteRule matcht auf “alle” Requests, und setzt daraus die neue Adresse /blog/xyz/urspruenglicherRequest?urspruenglicherQueryString zusammen.

Danke, aber das funktioniert auch nicht bekomme jedesmal nen 500 Internal Server Error auch beim Aufruf der haupt-domain…?

am anfang

RewriteEngine On :wink:

also

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?www\.)?(.*)\.example\.net$ [NC]
RewriteRule ^(.*)$ /blog/%1%/$1 [QSA]

das hat ich natürlich drin :ps:

ging trotzdem nicht… :smiley:

Hier meine Lösung des Problems… !coffee

RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.example\.net RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.example\.net RewriteRule ^$ /blog/%2/ [L]

funktioniert wunderbar !haue

Hey,

sorry wenn ich den Thread nochmal ausgrabe aber ich hätte noch eine kleine Frage da ich das ganze dazu verwende usernamen umzuleiten; nun gut jetzt gibt es halt auch user mit etwas “orginellen” Namen…

Also wenn jetzt jemand z.B. einen username hat wie:

xyz=).example.com

wie kann ich diesen dann umleiten in

www.example.com/blog/xyz=)/

ich muss meiner htaccess irgendwie “=” und “)” beibringen ist dies überhaupt möglich? oder geht das anders…?

cya

[quote=“maxo”]Also wenn jetzt jemand z.B. einen username hat wie:
xyz=).example.com[/quote]
In dieser Form wird der Request den Server höchstvermutlich nie erreichen, weil das gar keinen gültigen Domainnamen darstellt.

Tja, wäre intelligent gewesen, vorher zu überlegen, welche Zeichen man in Usernamen zulässt …

So musst du jetzt mal schauen, ob es eventuell Möglichkeiten gibt, die Zeichen dort kodiert unterzubringen - aber sowas wie die %XY-Kodierung von Sonderzeichen im Path-/Query-Bestandteil eines URLs geht an der Stelle m.W. auch nicht.
Du könntest höchstens noch schauen, welche Zeichen IDN-Domains erlauben, und wie dann deren entsprechende Umwandlung in Punycode aussieht.

Hey Chrisb,

Klar aber da die User mit solchen Zeichen aus der Übernahme eines anderen Forums stammen dafür kann ich nun mal nichts… :smiley:

[quote]So musst du jetzt mal schauen, ob es eventuell Möglichkeiten gibt, die Zeichen dort kodiert unterzubringen - aber sowas wie die %XY-Kodierung von Sonderzeichen im Path-/Query-Bestandteil eines URLs geht an der Stelle m.W. auch nicht.
Du könntest höchstens noch schauen, welche Zeichen IDN-Domains erlauben, und wie dann deren entsprechende Umwandlung in Punycode aussieht.[/quote]

Das hört sich sauschwierig an ich weiß nicht kannst du mir da nicht was schreiben denn wie es aussieht scheinst du dich mit htaccess recht gut auszukennen? Ich hab ehrlich gesagt auch keine Ahnung wie aufwendig es ist so was überhaupt zu realisieren!?

cya