hilfdirselbst.ch
Facebook Twitter gamper-media
[23]^5^
Beiträge: 14
1. Mär 2004, 13:59
Beitrag #1 von 4
Bewertung:
(927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mod_rewrite


Ich hab hier folgende mod_rewrite-Rules

Code
RewriteEngine On 
RewriteCond %{REQUEST_URI} /(.*)\.html$

RewriteRule ^([^\/]+).html$ index.php?var1=$1 [L]
RewriteRule ^([^\/]+)/([^\/]+).html$ index.php?var1=$1&var2=$2 [L]
RewriteRule ^([^\/]+)/([^\/]+)/([^\/]+).html$ index.php?var1=$1&var2=$2&var3=$3 [L]


Wenn ich jetzt aber eine RewriteRule haben will die mir falls 4 Parameter in der URL sind, 4 Variablen macht, und bei 5 eben 5, weiss ich nicht mehr weiter. (also so ne Art Schleife)

Hab mir gedacht es gib vielleicht einen RegEx der mir das richtig ausliesst.


Vielleicht haben wir hier einen richtigen RegEx-Guru hier...

vielen dank im Voraus

[23]^5^

--
das Genie beherrscht das Chaos Top
 
X
oesi50  A  S
Beiträge: 2315
1. Mär 2004, 14:20
Beitrag #2 von 4
Beitrag ID: #72838
Bewertung:
(927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mod_rewrite


Hi 23 xor 5

kommst Du nicht besser, wenn Du den Gesamten String (.*) als $1 übergibst?
In Deinem Script zerlegst Du es dann mit $array = explode ('/', $string).
Das ergibt ein schönes Array zum auswerten.

Damit ergeben sich 2 Vorteile:
1. die Regex-Rewrite Engine wird nicht so belastet
2. es sind mehr als 9 Parameter möglich

Nachtrag:

Ich halte es auch nicht für gut, alle Aufrufe durch die RewriteEngine parsen zu lassen.
Besser ist es, eine Kennung einzusetzen, und nur diese zu bearbeiten zb.: .htm
Dadurch werden andere statische Seiten nicht durch dein Script genudelt.



Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#72831]
(Dieser Beitrag wurde von oesi50 am 1. Mär 2004, 14:51 geändert)
Top
 
[23]^5^
Beiträge: 14
1. Mär 2004, 14:24
Beitrag #3 von 4
Beitrag ID: #72842
Bewertung:
(927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mod_rewrite


ok die idee ist garnicht so schlecht... werd das auch so machen.
Jetzt möchte man aber auch noch was dazulernen und deshalb frag ich gleich mal: wie kann ich den einen RegEx machen der wie eine Schleife behandelt wird... sprich wie hätte der RegEx aussehen müssen? :p

grüße Samuel
--
nur das Genie beherrscht das Chaos
als Antwort auf: [#72831] Top
 
oesi50  A  S
Beiträge: 2315
1. Mär 2004, 14:50
Beitrag #4 von 4
Beitrag ID: #72851
Bewertung:
(927 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

mod_rewrite


eine Schleife kann man mit RewriteRule .... [N] produzieren.
Damit wird die Regel so lange ausgeführt, wie noch Treffer existieren.

=== But be careful not to create an infinite loop! ===

Grüße Oesi
Ich weiß, dass ich nichts weiß... (Sokrates)
als Antwort auf: [#72831]
(Dieser Beitrag wurde von oesi50 am 1. Mär 2004, 14:53 geändert)
Top
 
X