Mod_Rewrite Problem adresse.de/activate/code

Kalma

Erfahrenes Mitglied
Hi,

ich habe eine Frage zu RewriteRules.

Und zwar habe ich bis jetzt eine einfache Rule, die lediglich folgendes macht:


adresse.de/index -> adresse.de/index.php


Jetzt brauche ich jedoch eine Rule, die zum Beispiel folgendes macht:
adresse.de/activate/code -> adresse.de/activate.php?code=code

Der Code besteht aus Zahlen und Buchstaben (groß und klein).

Code:
RewriteEngine On
Options +FollowSymlinks

RewriteRule ^activate/([^/\.]+)?$ index.php?code=$1 [L] # activate
RewriteRule ^([^/\.]+)/?$ $1.php [L]

Aber auf der Internetseite kommt "Objekt not found" und auf meinem lokalen XAMPP kommt die Seite ohne Stylesheets.


Wie kann ich das beheben?
 
Statt eines relativen URL-Pfads wie foo/bar oder ./foo/bar sollst du den absoluten URL-Pfad /foo/bar verwenden, da dieser vom URL-Pfad der Basis-URL unabhängig ist.
 
Ich glaube ich muss meine RewriteRules einmal komplett nachbearbeiten.


Finde nur kein gutes Tutorial.

Kann mir jemand was empfehlen?


Gruß
David
 
Ja ich dachte nur, weil, dies hier:

([^/\.]+)

Matcht doch alles oder?
Wäre ja ungut, dann kann man dort ja alles angeben.


Aber das mit der Referenzierung habe ich noch nicht verstanden. :confused:
 
Habe es jetzt so gelöst:

Code:
Options +FollowSymlinks

RewriteEngine On


RewriteRule ^activate/([^/\.]+)?$ 			/guerilla/index.php?code=$1 	[R,L] # activate
RewriteRule ^([^/\.]+)/?$ 					/guerilla/$1.php 				[L]

Aber das ist ja keine perfekte Lösung.

Habe es mit der RewriteBase versucht:
RewriteBase guerilla/

Aber das funktioniert nicht.

Und das mit dem "[R,L]" bei der AkitivierungsURL gefällt mir nicht.

Kannst du mir eine Seite nennen, wo Referenzierung gut erklärt ist?
 
Zuletzt bearbeitet:
Was mir noch auffällt, sachen die auf meiner Entwicklungsumgebung hier laufen (XAMPP für Mac, neuste version), laufen auf dem Webserver nicht.

Code:
RewriteRule ^activate/([^/\.]+)/?$                       /guerilla/activate.php?code=$1  [R,L]

Diese Regel wird gar nicht erst weitergeleitet.

Und folgende Regel:
Code:
RewriteRule ^content/([^/\.]+)/?$                        /guerilla/content.php?page=$1   [R,L]

Wir immer geleitet auf:
http://adresse.de/content/index
Was ja gar nicht sein sollte.
 

Neue Beiträge

Zurück