You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users-de@httpd.apache.org by "B. Heller" <he...@elitehost.biz> on 2004/07/26 17:21:29 UTC

RewriteRule

Hallo,

ich stehe vor folgendem Problem:

Ich möchte vom Apache die URL

http://*/engine/arg1/val1/arg2/val2/.../test.php (oder auch html, htm, ...)
in
http://*/engine.php?arg1=val1&arg2=val2&...&file=test.php (...)

umgeschrieben bekommen, wobei der * für einen beliebigen Host steht und die
URL auch beliebig viele Argumente enthalten können soll.

Für meinen lokalen IIS hab ich das schon:

RewriteRule (.*/engine)(\?[^/]*)?/([^/]*)/([^/]*)(.*?) $1(?2$2&:\?)$3=$4$5
[N,I]
RewriteRule (.*/engine)(\?[^/]*)?/(.*) $1.php(?2$2&:\?)file=$3 [I,L]

Gut, beim Apache müsste man das I durch NC für (case insensitive) ersetzen,
aber da liegt der Fehler nicht. Der Apache versteht die Rules trotzdem nicht
(er schmiert ab).

mod_rewrite ist installiert und funktioniert soweit auch, benutze es schon
für etwas anderes.

Ich bekomme das aber absolut nicht hin, könnte mir da einer helfen?

Grüße, Danke für die Mühe.

B. Heller


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------


Re: RewriteRule

Posted by Helge Jung <he...@eco-logic-software.de>.
Am Montag, 26. Juli 2004 15:21 schrieb B. Heller:
> Ich möchte vom Apache die URL
>
> http://*/engine/arg1/val1/arg2/val2/.../test.php (oder auch html,
> htm, ...) in
> http://*/engine.php?arg1=val1&arg2=val2&...&file=test.php (...)
>
> umgeschrieben bekommen, wobei der * für einen beliebigen Host steht
> und die URL auch beliebig viele Argumente enthalten können soll.
> [...]
> Ich bekomme das aber absolut nicht hin, könnte mir da einer helfen?

Vielleicht hilft das hier:

RewriteRule ^(.*)_([^.-]+)-([^.]*).htmp?l$ $1.htmpl?$2=$3 [N,QSA]
RewriteRule ^(.*).htmpl$ $1.php

Damit werden URLs wie test_a-1_b-2.html in test.php?a=1&b=2 umgewandelt. 
Die Rules müssen die ersten sein, ansonsten kann es zu Problemen 
kommen.

MfG,
  Helge.

-- 
CityMaxx24 Development Team
http://www.citymaxx24.net/

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de" 
      unsubscribe-Anfragen an users-de-unsubscribe@httpd.apache.org
           sonstige Anfragen an users-de-help@httpd.apache.org
--------------------------------------------------------------------------