PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : URL-Rewrite unter Apache2 endet immer als 404


RattuS
2012-09-25, 15:55:05
Hallo,

URL-Rewrite via Mod auf Apache2 in Verbindung mit Tomcat. Das Rewrite kommt über den VirtualHost:

# Domain: kekse
<VirtualHost *:80>

DocumentRoot /etc/railo/tomcat/webapps/ROOT/kekse/

RewriteEngine On
RewriteRule blog/([0-9]+).* /blog/post.cfm?id=$1 [NC,L]

JkMount /* ajp13

</VirtualHost>

Request: http://kekse/blog/1234/MyPost
Target: http://kekse/blog/post.cfm?id=1234
Ergebnis: 404 (Tomcat)

Log dazu:
init rewrite engine with requested uri /blog/1234/MyPost
applying pattern 'blog/([0-9]+).*' to uri '/blog/1234/MyPost'
rewrite '/blog/1234/MyPost' -> '/blog/post.cfm?id=1234'
split uri=/blog/post.cfm?id=1234 -> uri=/blog/post.cfm, args=id=1234
local path result: /blog/post.cfm
prefixed with document_root to /etc/railo/tomcat/webapps/ROOT/kekse/blog/post.cfm
go-ahead with /etc/railo/tomcat/webapps/ROOT/kekse/blog/post.cfm [OK]

Der physikalische Pfad stimmt, trotzdem kommt ein 404er. :confused:
Wenn ich einen Redirect verwende, funktioniert es, allerdings wird dann ja die URL leider nicht mehr maskiert.

sei laut
2012-09-25, 21:49:11
Wenns einen 404 gibt, wäre die Access Log noch interessant. Die zeigt dir ja an, was aufgerufen wurde.

RattuS
2012-09-28, 18:17:28
Im Access-Log wird die nicht aufgelöste URL abgerufen. Irgendwie geht das Mod-Rewrite nicht Hand in Hand mit Tomcat. :(

Irgendwie scheint Mod-Rewrite ohnehin nicht für JSP-Context gedacht zu sein, weswegen ich jetzt einfach mal diesen Filter verwende (http://code.google.com/p/urlrewritefilter/). Die Integration war eine Sache von wenigen Sekunden und jetzt läufts auch so, wie ich mir das vorgestellt habe. :)