Verstnändnisfrage: URL Umleitung mit mod_rewrite und .htaccess,
karlchen2010
- webserver
0 ChrisB0 Edgar Ehritt0 karlchen20100 ChrisB
Hallo zusammmen
haben beim Suchen im Forum schon einiges gefunden, doch jetzt komme ich nicht mehr weiter.
Ich will eine URL Umleitung anlegen so dass bei eingabe von username.mydomain.de auf http://www.mydomain.de.de/cms/branchenbuch/profil.php?name=%1 umgeleitet wird. Dies funktionierte auch gut.
Nun will ich die URL so maskieren, dass zwar auf http://www.mydomain.de.de/cms/branchenbuch/profil.php?name=%1 umgeleitet wird, aber in der Adresszeile immmer noch http://username.mydomain.de steht. Dies gelingt mir nicht.
Wenn ich versuche die Seite im Browser zu öffnen, bekomme immer einen Fehler, dass die Serverkonfiguration nicht in Orndung ist.
Wäre für jede Hilfe dankbar.
Gruß
Karl
meine derzeitige .htaccess datei
ErrorDocument 401 http://www.mydomain.de.de
ErrorDocument 403 http://www.mydomain.de.de
ErrorDocument 404 http://www.mydomain.de.de
ErrorDocument 500 http://www.mydomain.de.de
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^(.*).mydomain.de.
RewriteRule ^(.*) http://www.mydomain.de.de/cms/branchenbuch/profil.php?name=%1 [NC]
RewriteRule ^(.*).mydomain.de., $ /var/www/cms/branchenbuch/profil.php?name=%1 [L]
Hi,
Nun will ich die URL so maskieren, dass zwar auf http://www.mydomain.de.de/cms/branchenbuch/profil.php?name=%1 umgeleitet wird, aber in der Adresszeile immmer noch http://username.mydomain.de steht.
Dann willst du keinen HTTP-Redirect machen, sondern nur intern die Adresse umschreiben.
RewriteRule ^(.*) http://www.mydomain.de.de/cms/branchenbuch/profil.php?name=%1 [NC]
Wenn du einen komplette HTTP-URL angibst, dann machst du aber einen Redirect.
MfG ChrisB
Dann willst du keinen HTTP-Redirect machen, sondern nur intern die Adresse umschreiben.
RewriteRule ^(.*) http://www.mydomain.de.de/cms/branchenbuch/profil.php?name=%1 [NC]
Wenn du einen komplette HTTP-URL angibst, dann machst du aber einen Redirect.
Zuerstmal vielen dank für die schnelle Antwort.
Das würde heißen ich müsste die .htaccess so ändern, dass die URL intern umgeschrieben wird, ohne einen redirect zu machen. Nach meinem Verständnis
müsste ich dann die htaccess so umschreiben. Komme leider erst heute Abend dazu das auszuprobieren. Wäre jedoch nett, wenn Du Dir das mal ansehen könneest
Gruß
Karl
ErrorDocument 401 http://www.mydomain.de
ErrorDocument 403 http://www.mydomain.de
ErrorDocument 404 http://www.mydomain.de
ErrorDocument 500 http://www.mydomain.de
Options -Indexes
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^(.*).mydomain.de.
RewriteRule ^(.*) /var/www/cms/branchenbuch/profil.php?name=%1 [NC]
RewriteRule ^(.*).mydomain.de., $ /var/www/cms/branchenbuch/profil.php?name=%1 [L]
Hallo karlchen2010,
Wenn ich versuche die Seite im Browser zu öffnen, bekomme immer einen Fehler, dass die Serverkonfiguration nicht in Orndung ist.
das kann hier eigentlich nur zweierlei Ursachen haben. Entweder ist mod_rewrite nicht geladen, oder die Direktive AllowOverride lässt das Festlegen von ErrorDocument und/oder Options nicht zu.
Gruß aus Berlin!
eddi
Zuerst einmal vielen Dank für die Antworten.
Ich haebe jetzt gerade die .htaccess umgeschrieben, und zwar so:
RewriteEngine On
Options +FollowSymLinks
RewriteBase /arbeitsumgebung/cms/profil.php?name=%1
RewriteCond %{REQUEST_URI} !^/profil.php
RewriteCond %{HTTP_HOST} !^www.
RewriteCond %{HTTP_HOST} ^(.*).mydomain.de
funzt sehr gut ohne irgendwelche Fehlermeldungen.
Ich hätte aber noch zwei weitere Anliegen und zwar,
es wird jetzt wenn man in die URL http://profilname.mydomain.de eingibt
richtig weitergeleitet, wie erreiche ich nun, dass das Profil auch unter
http://www.profilname.mydomain.de richtig weitergeleitet wird und wie erreiche ich, dass in der Adressleiste vom Browser dann nur noch http://profilname.mydomain.de statt der kompletten dynamischen URL steht.
Bin für jegliche Hilfe dankbar
karl
statt
Hi,
Ich hätte aber noch zwei weitere Anliegen und zwar,
es wird jetzt wenn man in die URL http://profilname.mydomain.de eingibt
richtig weitergeleitet, wie erreiche ich nun, dass das Profil auch unter
http://www.profilname.mydomain.de richtig weitergeleitet wird und wie erreiche ich, dass in der Adressleiste vom Browser dann nur noch http://profilname.mydomain.de statt der kompletten dynamischen URL steht.
Wenn du von www.irgendwas.example.com auf irgendwas.example.com umleiten willst - dann fragst du halt erst ab, ob www. davorsteht, und wenn ja machst du einen Redirect auf irgendwas.example.com
Den letzten Teil habe ich nicht verstanden - du meinst doch hoffentlich nicht, dass immer nur der Domainname dort stehen soll, selbst wenn ein darunter liegender Pfad mit zur Adresse der Ressource gehört? Das würde die Nutzbarkeit der Seite stark einschränken.
MfG ChrisB