You are not logged in.

1

Tuesday, February 26th 2008, 4:26pm

Mod_rewrite

Ich hab ein Problem mit Mod_rewrite. Da ich ein Laie in Sachen Mod_Rewrite bin, brauche ich euere Hilfe. Ich habe folgende Links:

http://xxx.de/xxx/rating.php?team=T&realm=R&art=A

Jetzt sollen aus diesen mittels Mod_Rewrite folgendes gemacht werden:

http://xxx.de/xxx/rating/R/A/T.jpg

Könnte mir dabei vielleicht einer helfen? Wäre sehr nett.

2

Tuesday, February 26th 2008, 4:40pm

Welchen Inhalt können die variabeln maximal enthalten? Immer nur einen Buchstaben? Immer mehrere Buchstaben? Buchstaben und Zahlen? Spielt groß und Kleinschreibung eine Rolle?

3

Tuesday, February 26th 2008, 5:34pm

T und R enthalten immer eine Zeichenfolge, A nur eine Zahl. Groß- und Kleinschreibung muss nicht beachtet werden.

Bsp: http://xxx.de/xxx/rating.php?team=La Cows&realm=Aegwynn&art=2

4

Saturday, March 1st 2008, 6:23pm

Source code

1
RewriteRule ^rating/([^/]+)/([^/]+)/([^/]+)\.jpg$ rating.php?team=$3&realm=$1&art=$2

5

Sunday, March 2nd 2008, 2:36am

Danke dir klappt wunderbar ...

6

Monday, March 3rd 2008, 6:57pm

Das Umschreiben klappt, aber ich kann die Variablen nicht mittels "$_GET" aufrufen. Gibt es da einen speziellen Grund warum das nicht geht?

.htaccess:

Source code

1
2
3
Options -MultiViews
RewriteEngine on
RewriteRule ^rating/([^/]+)/([^/]+)/([^/]+)\.jpg$ rating.php?team=$3&realm=$1&art

7

Tuesday, March 4th 2008, 12:02am

sorry das ich nicht mehr geantwortet habe. Habe den Thread total vergessen.

Mach mal

print_r($_GET);

8

Tuesday, March 4th 2008, 4:39pm

Source code

1
2
3
Array
(
)


ist ein leeres Array : ( Ich hab des Weiten gemerkt, dass ich meine URL noch beliebig erweitern kann und die Seite zwar aufgerufen wird, aber keine Variblen da sind, z.B.: http://xxx.de/xxx/rating.php/var1/var2/xyz/zyx/var3.jpg

helga

Sage

Posts: 1,839

Location: Merseburg

  • Send private message

9

Tuesday, March 4th 2008, 11:36pm

ändere mal die Zeile so ab:

Source code

1
RewriteRule ^rating/([^/]+)/([^/]+)/([^/]+)\.jpg$ rating.php?team=$3&realm=$1&art=$2 [L,R]

und schau mal die URL an, welche danach für das Bild aufgerufen wird, also rechtsklick auf Eigenschaften des Bildes. Später kannst du das [L,R] in [L] umändern.

10

Wednesday, March 5th 2008, 4:22pm

Mit der veränderten .htacces geht es auch net. Bei Grafik Eigenschaften steht:

Quoted

Grafik Eigenschaften:
Adresse: http://***/rating.php/Aegwynn/2/Restart.jpg

11

Wednesday, March 5th 2008, 7:08pm

Kann es sein das zu die Grafik falsch verlinkst?
(Das ".php" (und der Link weiter oben) in der Grafikeigenschaft bringt mich zu dieser vermutung. Dass würde auch erklärgen warum $_GET leer ist..)

Die RewriteRules von Helga bzw fooba sehen soweit korrekt aus.
  • "Leben ist Risiko" -Sleepers

This post has been edited 1 times, last edit by "Defender" (Mar 5th 2008, 7:14pm)


12

Wednesday, March 5th 2008, 8:40pm

Also: In der Url muss das ".php" auftauschen sonst findest er die Seite nicht oder bietet die mit ".php" an. Mein Bild erstelle ich folgendermaßen:

PHP Source code

1
2
3
4
5
6
7
8
9
10
 <?
// Grafik erstellen
header ("Content-type: image/png");
$im ImageCreate (30025); // Bild erstellen
$color ImageColorAllocate ($im255255255); // Weiß
$color ImageColorAllocate ($im000);
ImageString ($im1555$team.": ".$rating$color); // Testtext schreiben
ImagePNG ($im); // Bild "ausgeben"
Imagedestroy ($im); // Zeiger wieder freigeben
?>


.htacces sieht immernoch so aus:

Source code

1
2
3
Options -MultiViews
RewriteEngine on
RewriteRule ^rating/([^/]+)/([^/]+)/([^/]+)\.jpg$ rating.php?team=$3&realm=$1&art [L,R]

13

Wednesday, March 5th 2008, 8:59pm

Hmm.. dann matcht aber die RewriteRule nicht...

und durch das .php am ende, rufst du nur die Datei ganz normal auf. (ist bei pseudo modrewrite eine sehr beliebte Variante.) (Korrekt wäre ohne dem .php)

Da du ja nun Helga's Debug-Variante in der .htaccess drin hast, wo landest du wenn du domain.xx/rating/Aegwynn/2/Restart.jpg aufrufst? (Direkt aufrufen im Browser) (Dank dem Flag den Helga hinzugefügt hat (R) wirst du dann weitergeleitet und siehst wo die Datei gesucht.)
Wenn sich die Adresszeile nicht ändert, dann matcht das ding wirklich nicht..
Hat das ganze zwischendrin noch ein weiteres Verzeichnis?
Wenn ja, ist die .htaccess in dem Verzeichnis oder im Root?
  • "Leben ist Risiko" -Sleepers

14

Wednesday, March 5th 2008, 9:12pm

Wenn ichs direkt eingebe, werde ich auf:

http://***/kunden/homepages/40/d113100652/htdocs/Spectaculum/armory/rating.php?team=Restart&realm=Aegwynn&art weitergeleitet.

Verzeichnisstruktur sieht so aus: Im Root Verzeichnis habe ich den Ordner (armory) mit der ".htaccess" und der "rating.php".

/Edit: Mit Hilfe von Defender hats jetzt endlich geklappt. Ich musste die ".htaccess" ins Root Verzeichnis legen und dann klappte es:

Source code

1
2
3
Options -MultiViews
RewriteEngine on
RewriteRule ^armory/rating/([^/]+)/([^/]+)/([^/]+)\.jpg$ /armory/rating.php?team=$3&realm=$1&art=$2 [L]

This post has been edited 1 times, last edit by "MasterCassim" (Mar 5th 2008, 9:52pm)


helga

Sage

Posts: 1,839

Location: Merseburg

  • Send private message

15

Thursday, March 6th 2008, 9:52pm

/Edit: Mit Hilfe von Defender hats jetzt endlich geklappt. Ich musste die ".htaccess" ins Root Verzeichnis legen und dann klappte es:

damit wirkt sich diese Regel auf deiner kompletten URL aus.

Wenn du dies nur für diesen Unterordner haben willst, kannst du diese ruhig in deinem Unterordner packen, aber dann muß oben vor der Regel noch diese Zeile hinzugefügt werden:

RewriteBase /armory/

16

Friday, March 7th 2008, 3:29pm

Stimmt so klappts auch im Unterordner:

Source code

1
2
3
4
Options -MultiViews
RewriteEngine on
RewriteBase /armory/
RewriteRule ^rating/([^/]+)/([^/]+)/([^/]+)\.jpg$ /armory/rating.php?team=$3&realm=$1&art=$2 [L]


Danke euch