Seite 1 von 1

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 14:06
von Beowolve
Also folgende Situation:

Ich habe ein Tool das bis jetzt unter www.mydomain.com/mytool zu erreichen ist. Jetzt hab ich eine eigene subdomain dafür eingerichtet die genau auf dieses Verzeichnis zeigt.
mytool.mydomain.com

User die über den alten Link kommen möchte ich nun umleiten auf die neue subdomain, dazu verwende ich nun folgendes htaccess file (im mytool verzeichnis):

RewriteEngine On
RewriteCond %{HTTP_HOST} !^mytool\.mydomain\.com
RewriteRule (.*) https://mytool.mydomain.com/$1 [R=301,L]

So, dass ganze funktioniert eigentlich genau so wie ich das wollte bis auf die Tatsache, dass der Alte link nur geht wenn ich ein slash hinten dran hänge.

"www.mydomain.com/mytool" => 404
"www.mydomain.com/mytool/" => funktioniert

hat irgend jemand von den Profis nen Tip für mich ;)?

Verfasst:
von

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 14:37
von Chris2005
Probiere mal folgendes:

Code: Alles auswählen

RewriteEngine On
RewriteCond %{HTTP_HOST} !^mytool\.mydomain\.com
RewriteRule ^(.*) http://mytool.mydomain.com/$1 [R=301,L]
Da fehlte meiner Ansicht nach ein ^

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 14:55
von shapeshifter
RewriteBase /

Verfasst: 06.07.2005, 15:03
von Beowolve
Ok hab ich Probiert aber funktioniert auch ned ;(.

Hab die direktive "Trailing Slash Problem" von
https://httpsd.apache.org/docs-2.0/misc ... guide.html

auch mal entsprechend in der root htaccess eingebaut aber das hat auch nichts bewirkt.

Sollte die "/" direktive, die ja eigentlich standardmäßig bei mir aktiv zu sein scheint ned vorher schon ausgeführt worden sein, damit überhaupt das htaccess file vom subpath gelesen wird !?

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 15:15
von shapeshifter
Ach was erzähl ich denn ?

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mytool\.mydomain\.com 
RewriteRule ^(.*)$ http://mytool.mydomain.com/$1 [R=301,L]
^(.*)$ muss es heissen

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 15:18
von Chris2005
Ouch... Ist mir auch durchgerutscht... Komischerweise funktioniert das bei mir ohne das $.

Verfasst: 06.07.2005, 16:25
von Beowolve
Erstmal danke für die schnellen Rückmeldungen, leider hab ich noch immer die selbe Situation.

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^sub\.domain\.com
RewriteRule ^(.*)$ http://sub.domain.com/$1 [R=301,L]
Wie müste ich das ändern, damit ichs in die root htaccess schreiben kann, vielleicht gehts ja dann.
Habs versucht mit RewriteBase /pfad/ aber das hat end funktioniert und es wurde einfach alles umgeleitet dann.

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 16:32
von Chris2005
Probiere doch mal Folgendes statt dem rewrite-Zeugs.

redirect permanent https://www.domain.tld/mytools https://mytools.domain.tld/
redirect permanent https://www.domain.tld/mytools/ https://mytoosl.domain.tld/

Sollte funktionieren, wenn Du nicht noch andere "komische" Rewrite-Rules hast. :)

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 16:35
von mariow
Du statt der htaccess im Tool-Verzeichnis zusätzlich sowas in die Root-Htaccess einbauen:

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^mytool\.domain\.com
RewriteRule ^mytool/?(.*)$ http://mytool.domain.com/$1 [R=301,L]
Ich hab es ehrlich gesagt nicht getestet, müsste aber in die richtige Richtung gehen.

Nebenbei sind "^" und "$" nicht zwingend nötig sondern präzisieren die Regex nur. Die oben genannten Fälle .* (alles was zu finden ist), ^.* (alles was zu finden ist vom Anfang des Strings an) und ^.*$ (alles was von Anfang bis Ende des Strings zu finden ist) sind komplett gleichwertig.

Problem mit rewrite und fehlendem slash (/)

Verfasst: 06.07.2005, 16:52
von Beowolve
Problem gelöst!

thx @ all und besonders an mariow!

Mit der abgeänderten Variante für die root htaccess funktionierts einwandfrei.