Fehler in der RewriteRule

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Fehler in der RewriteRule

Beitragvon ven » 20.07.2006 11:39

Hallo,

sobald ich eine .htaccess Datei eines Scriptes auf meinen Webspace hochlade, erhalte ich nur noch Error Messages, ich kann keine Seite mehr aufrufen:

Zugriff verweigert!

Der Zugriff auf das angeforderte Objekt ist nicht möglich. Entweder kann es vom Server nicht gelesen werden oder es ist zugriffsgeschützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 403


Ist schon das zweite Script bei dem ich so ein Problem habe. Sobald ich die .htaccess Datei lösche, gehen die Dateien auf dem Web zwar wieder, aber mod_rewrite natürlich nicht.

In der .htaccess steht:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [QSA,L]


Mod_rewrite selbst wird laut info.php geladen, steht unter "Loaded Modules".
Noch zur Anmerkung: Ich besitze einen vServer, muss ich evtl. etwas bestimmtes PHP/Apache-mäßiges vorher einstellen?

Hoff jemand kann mir weiterhelfen.

lg,
ven
Zuletzt geändert von ven am 25.07.2006 15:51, insgesamt 1-mal geändert.
ven
.
.
 
Beiträge: 10
Registriert: 20.07.2006 11:36

Beitragvon Bob » 20.07.2006 18:20

Noch zur Anmerkung: Ich besitze einen vServer,
Mit Confixx oder Plesk? Oder gänzlich ohne Config-Zeugs?
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon ven » 20.07.2006 18:46

Mit Confixx Professional.
ven
.
.
 
Beiträge: 10
Registriert: 20.07.2006 11:36

Beitragvon Bob » 20.07.2006 19:00

Dann solltest du unter "httpd spezial" dort das einfügen (statt der .htaccess-Datei)

Code: Alles auswählen
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
# nutzt du wirklich symbolische Links, sodass du darauf prüfen musst?
#RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-l
# muss wirklich jeder Request in die RewriteRule laufen? Oder kannst du festlegen,
# dass z.B. alles auf .html endet?
RewriteRule ^ /index.php [L]
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon ven » 23.07.2006 14:29

Danke für deine Antwort Bob. Allerdings habe ich auf das Script aus anderen Gründen nun verzichtet.

Ich habe nun versucht ganz normale dynamische URL's zu ersetzen.

Probleme:

Besitzt meine .htaccess folgenden Inhalt bekomme ich einen: Error 403
Code: Alles auswählen
RewriteEngine on


Besitzt meine .httaccess folgenden Inhalt bekomme ich einen: Error 500
Code: Alles auswählen
Options +FollowSymlinks
RewriteEngine on
RewriteRule index/(.*)/(.*)/$ /d/index.php?$1=$2


In der confixx_vhost.config habe ich unter meinem aktuellen Web um die oben genannten Probleme zu beheben folgendes eingetragen:
Code: Alles auswählen
Options +FollowSymlinks +SymLinksIfOwnerMatch


Leider hat dies auch nichts gebracht. Ich komm einfach nicht weiter.
ven
.
.
 
Beiträge: 10
Registriert: 20.07.2006 11:36

Beitragvon Bob » 23.07.2006 21:27

Was spricht jetzt dagegen,

Code: Alles auswählen
RewriteEngine on
RewriteRule ^/index/([^/]*)/([^/]*)/$ /d/index.php?$1=$2 [L]
unter "httpd spezial" einzufügen?
Bob
Moderator
Moderator
 
Beiträge: 5044
Registriert: 01.10.2004 13:10

Beitragvon ven » 24.07.2006 08:52

Habe ich gemacht, leider immer noch die gleichen Fehler, bzw. wenn ich die .htaccess lösche nimmt er die ganz normalen dynamischen Pfade.

Hier mal meine confixx_vhost.mf

Code: Alles auswählen
<Directory "/var/www/webXX/html">
AllowOverride All
 Options +FollowSymLinks +SymLinksIfOwnerMatch
  <IfModule mod_access.c>
    Allow from all
  </IfModule>
</Directory>
ven
.
.
 
Beiträge: 10
Registriert: 20.07.2006 11:36

Beitragvon ven » 24.07.2006 13:26

Boah, was ein Quatch. Meine Änderungen in der confixx_vhost wurden durch ein anderes Directory irgendwie immer überschrieben.
Mod_Rewrite funktioniert nun. Habe es mit folgendem Code getestet und wurde immer nach Google weitergeleitet:

Code: Alles auswählen
RewriteEngine On
RewriteRule ^  http://www.google.de [R,L]


Allerdings funktionieren meine Rules irgendwie nicht.
Meine dynamische URL: index.php?page=seite-xy

Die erste Rule hat mir ein Freund geschustert und die zweite kommt aus einem Generator:

Code: Alles auswählen
RewriteRule ^index/(.*)/(.*)/?$ index\.php?$1=$2
RewriteRule page/(.*)/?$ index.php?page=$1


Wäre super nett wenn mir nochmal jemand helfen könnte :>
ven
.
.
 
Beiträge: 10
Registriert: 20.07.2006 11:36

Beitragvon ven » 28.07.2006 14:59

bitte, bitte bitte :)
ven
.
.
 
Beiträge: 10
Registriert: 20.07.2006 11:36


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron