[MOD_REWRITE] Problem: Redirect ohne Parameter
Havyrl
- webserver
Hallo,
ich leite mit einer HT-Accessdatei Subdomains und Kürzel auf bestimmte lange Adressen um. Das klappte bisher auch ganz gut, allerdings tritt bei meiner neusten Umleitung ein Problem auf.
#Mobil
rewriteCond %{HTTP_HOST} ^m[.] [NC]
rewriteCond %{REQUEST_URI} ^/$ [NC]
rewriteRule (.*) /mobile [L]
Aus "m.example.com" wird "example.com/mobile".
Richtig wäre das er intern auf /mobile umleitet und weiterhin nur "m.example.com" anzeigt.
Oder das er wenigstens auf "m.example.com/mobile" umleitet.
/mobile ist ein normales html dokument und führt auch keine Umleitung durch.
Es gibt auch keine Regel, welche nach "example.com" (ohne subdomain) umleitet.
Aber auch das auskommentieren
Hat jemand eine Idee was ich hier prüfen könnte?
Oder ein Stichwort wonach ich suchen könnte?
So langsam gehen mir die Ideen aus.
Die Restlichen Regeln sehen so aus und dürften das Problem nicht verursachen:
rewriteCond %{REQUEST_URI} ^/jobs [NC]
rewriteRule (.*) /pages/jobs.php [L]
Tach!
Hat jemand eine Idee was ich hier prüfen könnte?
Oder ein Stichwort wonach ich suchen könnte?
RewriteLog. Benötigt aber administrativen Zugang, weil es sich nicht erst in der .htaccess konfigurieren lässt.
dedlfix.
RewriteLog. Benötigt aber administrativen Zugang, weil es sich nicht erst in der .htaccess konfigurieren lässt.
moin und danke.
der erste Durchlauf:
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (3) [perdir /var/www/example/] strip per-dir prefix: /var/www/example/ ->
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (3) [perdir /var/www/example/] applying pattern '^(.*)$' to uri ''
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (3) [perdir /var/www/example/] strip per-dir prefix: /var/www/example/ ->
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (3) [perdir /var/www/example/] applying pattern '(.*)' to uri ''
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (4) [perdir /var/www/example/] RewriteCond: input='m.example.com' pattern='^m[.]' [NC] => matched
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (4) [perdir /var/www/example/] RewriteCond: input='/' pattern='^/$' [NC] => matched
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (2) [perdir /var/www/example/] rewrite '' -> '/mobile'
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (2) [perdir /var/www/example/] trying to replace prefix /var/www/example/ with /
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (1) [perdir /var/www/example/] internal redirect with /mobile [INTERNAL REDIRECT]
sieht für mich alles gut aus. Im zweiten Durchlauf ist alles "not-matched". Also ist der ModRewrite unschuldig.
Tach!
172.16.100.11 - - [17/Jul/2012:10:09:16 +0200] [example.com/sid#8b72438][rid#93f7ae0/initial] (1) [perdir /var/www/example/] internal redirect with /mobile [INTERNAL REDIRECT]
An dieser Stelle schickt der Apache sich selbst einen Request mit der umgeschriebenen URL, was ganz normal ist beim Rewriten in der .htaccess.
sieht für mich alles gut aus. Im zweiten Durchlauf ist alles "not-matched". Also ist der ModRewrite unschuldig.
Der Hostname hat sich nicht geändert. Existiert denn http://m.example.com/mobile?
dedlfix.
Der Hostname hat sich nicht geändert. Existiert denn http://m.example.com/mobile?
Was heißt existiert. Es gibt den Ordner "mobile" in "/" und der Apache leitet alles dieser Domain in diesen Ordner um.
Wenn ich direkt "w.example.com/mobile" aufrufe zeigt er alles richtig an und springt nicht auf "example.com/mobile". (Die Regel greift ja wegen "^/$" nicht.)