rewrite für mehrere websites
Tim F
- webserver
hallo
ich habe einen Windows Server mit IIS und deshalb nur eine globale Möglichkeit für alle Unterseiten Rewriterules zu definieren. (mir ist die Vollversion die .htaccess Dateien versteht zu teuer)
die verschiedenen Websites sind in verschiedenen Unterordnern und sollen von verschiedenen Domains angesprochen werden.
wie bekomme ich es hin, dass bestimmte Rules nur bei bestimmten Domains greifen?
ich dachte da an so was in der Art aber es funktioniert nicht wie es soll:
RewriteCond %{HTTP_HOST} ^www.erstedomain.de
RewriteRule ^(.*).htm(.*)$ index.php?id=$1$2 [NC,L]
RewriteCond %{HTTP_HOST} ^www.zweitedomain.de
RewriteRule ^(.*)-(.*).htm$ index.php?page=$1&id=$2 [NC,L]
vielen dank
Tim
ich habe einen Windows Server mit IIS und deshalb nur eine globale Möglichkeit für alle Unterseiten Rewriterules zu definieren. (mir ist die Vollversion die .htaccess Dateien versteht zu teuer)
ISAPI_Rewrite?
ich dachte da an so was in der Art aber es funktioniert nicht wie es soll:
Definiere das?
RewriteCond %{HTTP_HOST} ^www.erstedomain.de
RewriteRule ^(.).htm(.)$ index.php?id=$1$2 [NC,L]RewriteCond %{HTTP_HOST} ^www.zweitedomain.de
RewriteRule ^(.)-(.).htm$ index.php?page=$1&id=$2 [NC,L]
bitte für Beispiele RFC 2606 beachten - in deinem Fall könnte aber auch die echte Domain hilfreich sein.
^foo.bar.invalid matcht sowohl auf foo1bar.invalid alsauch auf foo.bar.invalid oder foo.bar.invalid.example.com
Möglicherweise liegts daran - oder aber an der billigen Version deiner Rewrite-Geschichte. Zumindest ISAPI\_Rewrite hatte diesbezüglich mal irgendwelche Einschränkungen.
ich habe einen Windows Server mit IIS und deshalb nur eine globale Möglichkeit für alle Unterseiten Rewriterules zu definieren. (mir ist die Vollversion die .htaccess Dateien versteht zu teuer)
ISAPI_Rewrite?
ich habe die lite-Version weil die pro 99$ kostet
ich dachte da an so was in der Art aber es funktioniert nicht wie es soll:
Definiere das?
es kommt immer Seite nicht gefunden
RewriteCond %{HTTP_HOST} ^www.-meine_erste-domain-.de
RewriteRule ^(.).htm(.)$ index.php?id=$1$2 [NC,L]RewriteCond %{HTTP_HOST} ^www.-meine_zweite-domain-.de
RewriteRule ^(.)-(.).htm$ index.php?page=$1&id=$2 [NC,L]
>
> bitte für Beispiele RFC 2606 beachten - in deinem Fall könnte aber auch die echte Domain hilfreich sein.
sorry
> ^foo.bar.invalid matcht sowohl auf foo1bar.invalid alsauch auf foo.bar.invalid oder foo.bar.invalid.example.com
das versteh ich jetzt nicht so ganz... ;)
kannst du mir vielleicht sagen wie es richtig aussehen würde?
ISAPI_Rewrite?
ich habe die lite-Version weil die pro 99$ kostet
Also ISAPI_Rewrite ;)
es kommt immer Seite nicht gefunden
Gibt es denn die Ressource, die du aufrufen willst bzw auf die du umschreiben willst? ;)
kannst du mir vielleicht sagen wie es richtig aussehen würde?
In einem der Punkt hat eine Sonderbedeutung und repräsentiert ein beliebiges Zeichen, darum sollte er maskiert werden. Ebenso solltes du das Ende des Strings kennzeichnen, dafür ist das $-Zeichen da.
^www.example.com$
ISAPI_Rewrite?
ich habe die lite-Version weil die pro 99$ kostet
Also ISAPI_Rewrite ;)
es kommt immer Seite nicht gefunden
Gibt es denn die Ressource, die du aufrufen willst bzw auf die du umschreiben willst? ;)
Ja.
kannst du mir vielleicht sagen wie es richtig aussehen würde?
In einem der Punkt hat eine Sonderbedeutung und repräsentiert ein beliebiges Zeichen, darum sollte er maskiert werden. Ebenso solltes du das Ende des Strings kennzeichnen, dafür ist das $-Zeichen da.
^www.example.com$
danke für den tipp.
mir ist gerade aufgefallen, dass wenn ich hinten bei der rewriterule ein R=301 mit in die klammer setzte es einwandfrei weitergeleitet wird.
^www.example.com$
danke für den tipp.
mir ist gerade aufgefallen, dass wenn ich hinten bei der rewriterule ein R=301 mit in die klammer setzte es einwandfrei weitergeleitet wird.
Dann müsste es ohne R=301 aber auch funktionieren - möglicherweise doch eine Einschränkung der Billig-Version?
Ich hab' den letzten Windows-Server mit ISAPI_Rewrite vor etwa einem Jahr gesehen und dort nur 301-Redirects gebraucht. Ich kann dir also nicht sagen, ob das so auch funktionieren müsste.