Hallo,
ich will meine Links in einer PHP Seite mit mod_rewrite ändern.
Ich bin mir nicht ganz sicher, ob Du wirklich verstanden hast, was man mit mod_rewrite tun kann. Jedenfalls sind einige Deiner Sätze für mich etwas missverständlich formuliert. Wenn meine Befürchtungen sich als falsch erweisen sollten, entschuldige bitte meine Erklärung.
Mit mod_rewrite (bzw. mit dessen RewriteRule) kannst Du die an den Server ankommenden Anfragen umleiten/verändern. Das heisst, wenn jemand (also der Browser eines Users) a.html anfragt, kannst Du ihm (entsprechende Einstellungen vorausgesetzt) den Inhalt von b.hmtl liefern. Oder sagen, nee, die a.html ist nicht mehr verfügbar, hole Dir dafür die c.html.
In Deinem Fall vermute ich, Du willst gerne Anfragen nach der (auf Deinem Server nicht existierenden) Datei index_schule_projekte_145.html mit etwas beantworten, was der Server eigentlich nur bei einer Anfrage nach index.php?ID=schule&sub_ID=projekte&category_ID=145 rausrücken sollte.
Also definierst Du in Deiner .htaccess Datei die entsprechenden Regeln (wie Du das ja schon machst). Die Links _innerhalb_ deiner HTML/PHP Seiten verändert das natürlich noch nicht. Wenn Du die "schöneren" Links benutzen willst, musst Du also in Deinen Webseiten selber alle Links der Form index.php?ID=schule&sub_ID=projekte&category_ID=145 in die Form index_schule_projekte_145.html umwandeln. Deine .htaccess sorgt nur dafür, dass später die Seitenaufrufe wieder entsprechend in die ursprüngliche Form zurückverwandelt werden (also in Deinem Fall, dass die in den .html Dateinamen eingebetteten Parameter herausgelöst und richtig an die Datei index.php übergeben werden).
Der Apache-Server meines Providers hat mod_rewrite nicht installiert, deshalb muß ich auf meinem localhost testen, wo dies möglich ist.
Mir ist auch nicht ganz klar, weshalb Du dann mit mod_rewrite herumexperimentierst, wenn Dein Server, auf dem Deine Webseiten liegen, das sowieso nicht unterstützt. Oder willst Du dann den Provider wechseln, wenn Du alles getestet hast?
Grüße, Alex.