Thema: mod_rewrite: Wo muss die .htaccess hin?

Hallo,

ich probiere jetzt schon seit einiger Zeit, meinem Server das URL-Umschreiben beizubringen.

Das Modul ist geladen, ich habe in den entsprechenden virtuellen Host RewriteEngine on geschreiben und den Apache neu gestartet.

Leider kann ich in die .htaccess schreiben, was ich will - es passiert nichts.

Wo muss denn die Datei eigentlich hin? Da steht immer überall, sie soll in das entsprechende unterverzeichnis - ja aber, in welches denn? Die url, die eingegeben wird, gibt es ja gar nicht und das Verzeichnis, auf das umgeleitet werden soll, kennt der Apache ja noch gar nciht.

Deswegen habe ich die .htaccess in das Root-Verzeichnis des virt. Hosts gepackt.

Zum Testen habe ich eine ganz einfach Syntax genommen, ist daran etwa noch etwas falsch?

RewriteEngine on 
Options FollowSymLinks
RewriteBase /
RewriteRule ^/maschine_(2).html$ maschinen/index.php?language=$1&cat=$2

Für Hilfe wäre ich sehr dankbar!!

Gruss, Ellen

2

Re: mod_rewrite: Wo muss die .htaccess hin?

Hi Ellen,

die .htaccess kommt AFAIK immer genau in das Verzeichnis, welches Du "bearbeiten" willst.
Sprich:
Wenn sie im htdoc-Root des Servers liegt, ist sie dort aktiv.
Beispiel:
www.asd.de hat das docroot /var/www/html

Wenn nun die .htaccess in /var/www/html liegt, müsste sie gezogen werden, wenn man direkt auf www.asd.de geht.

Ach ja, falls Du die Doku noch suchst:
http://httpd.apache.org/docs-2.0/mod/mo … ewriterule

HTH und schönen Gruß, tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

3

Re: mod_rewrite: Wo muss die .htaccess hin?

Hi Tink,

das:

Wenn nun die .htaccess in /var/www/html liegt, müsste sie gezogen werden, wenn man direkt auf www.asd.de geht.

ist ja genau das, was ich nicht verstehe...

Ich will ja, dass nach Eingabe von www.domain.de/maschine_2.html die URL www.domain.de/maschinen/index.php?cat=2 geht.

Soll die htaccess jetzt in den Ordner maschinen???

Ich habe bei mir noch einen Fehler gefunden, weil ich vorher was anderes drin hatte, aber mit

RewriteRule ^/maschine_(2).html$ /maschinen/index.php?cat=$1

gehts leider auch nicht :-(

Gruss, Ellen

4

Re: mod_rewrite: Wo muss die .htaccess hin?

Hi Ellen,

Ich hab eben ein wenig probiert:
a)
in der httpd.conf des Apache musste ich

AllowOverride All

einstellen (für das Verzeichnis, wo die .htaccess drin liegt).
b)

Soll die htaccess jetzt in den Ordner maschinen???

Eben nicht! Sondern im docroot von www.domain.de.
c)
mit

RewriteEngine on
RewriteBase /
RewriteRule maschine_(2).html maschinen/index.php?cat=$1

konnte ich eine Fehlermeldung a la:
The requested URL /maschinen/index.php was not found on this server.
provozieren.
Das heißt, diese .htaccess sollte helfen.

HTH, tink

Beleidigungen sind die Argumente derer, die keine Argumente haben

5

Re: mod_rewrite: Wo muss die .htaccess hin?

Hi Tink,

nachdem mein Kollege nochmal am Apache rumgemacht hat, hattenw ir plötzlich gar keinen Zugriff mehr auf das Verzeichnis... Also funktionierte die htaccess schonmal...

Und nachdem ich die Datei dann nochmal überarbeitet habe (nach Deiner Syntax, ich hatte inzwischen alles mögliche da rein geschrieben), funktioniert jetzt auch endlich alles so, wie es soll.

Sie liegt jetzt im Root-Verzeichnis und im Apache hatte wohl tatsächlich das AllowOverride All gefehlt.

Das hat aber gedauert :-/

Danke und viele Grüsse, Ellen

6

Re: mod_rewrite: Wo muss die .htaccess hin?

Hi nochmal smile

Das hat aber gedauert :-/

Finde ich nicht... 12:24 das Thema eröffnet, 14:25 gelöst.
2 Stunden für so ein Advanced-Thema wie Rewrite finde ich nich schlimm wink

Schönes Wochenende,

tink

Beleidigungen sind die Argumente derer, die keine Argumente haben