alle Anfragen auf index.php umzuleiten funktioniert nicht

URLs umschreiben, umleiten, blocken oder sperren - all das und noch viel mehr kann mit mod_rewrite erreicht werden. Mit regulären Ausdrücken, Conditions und Rules stehst Du auf Kriegsfuss? mod_rewrite macht nicht das was Du willst, oder funktioniert gar nicht? hier bist Du richtig!

Moderatoren: Bob, Super-Mod

alle Anfragen auf index.php umzuleiten funktioniert nicht

Beitragvon Nikolas » 07.02.2010 13:20

hallo,

ich arbeite zuhause mit Ubuntu 9.04 und Apachee 2.2.11

Leider bekomme ich immer wieder Fehlermeldungen, wenn ich versuche per mod_rewrite alle Anfragen auf eine Datei index.php umzuleiten. Angeblich wird sie nicht gefunden, wenn ich sie aber händisch anwähle gibt es kein Problem.

Also, ich rufe zum Beispiel http://localhost/~nikolas/test auf

und bekomme zur Antwort:
Code: Alles auswählen
Not Found

The requested URL /localhost/~nikolas/test/index.php was not found on this server.


Wenn ich aber gleich http://localhost/~nikolas/test/index.php aufrufe funktioniert es.

Meine entsprechende .htaccess sieht so aus:

Code: Alles auswählen
RewriteEngine On
RewriteBase /localhost/~nikolas/test
RewriteRule ^(.*)$ index.php [NC,L]


Habt ihr eine Idee, woran das liegen könnte?
--------------------------------------------------------------
Gracians Handorakel: http://www.handorakel.de
Nikolas
.
.
 
Beiträge: 5
Registriert: 07.02.2010 13:09

Beitragvon kartoffelkopf » 07.02.2010 16:06

localhost ist der Hostname und wahrscheinlich kein Verzeichnis auf Deinem Webserver. Probiers mal ohne.
kartoffelkopf
.
.
 
Beiträge: 59
Registriert: 06.02.2010 15:03

Beitragvon Nikolas » 07.02.2010 17:56

leider funktioniert das auch nicht.

Das Problem tritt übrigens nur auf, wenn ich alle Anfragen, d.h. "^(.*)$" umleiten will.

Beispielsweise habe ich ein Projekt mit einer Formelsammlung, deren .htaccess auf meinem Entwicklungsrechner so aussieht:

Code: Alles auswählen
RewriteEngine on

RewriteRule ^(.*)$ grundrechenarten.php [l]
RewriteRule ^grundrechenarten$ grundrechenarten.php [l]


Versuche ich, http://localhost/~nikolas/formelsammlung aufzurufen bekomme ich die Fehlermeldung, dass grundrechenarten.php nicht gefunden wird. Rufe ich allerdings http://localhost/~nikolas/formelsammlun ... echenarten auf, klappt alles wunderbar.

(P.S.: Die Formelsammlung live: http://www.formelsammlung-mathe.de - hier tritt überhaupt kein Problem auf)[/code]
--------------------------------------------------------------
Gracians Handorakel: http://www.handorakel.de
Nikolas
.
.
 
Beiträge: 5
Registriert: 07.02.2010 13:09

Beitragvon kartoffelkopf » 07.02.2010 18:47

Probier mal

Code: Alles auswählen
RewriteRule ^(.*)$ /grundrechenarten.php [l]


Die zweite Rule wird uebrigens gar nicht ausgefuehrt, weil die erste Rule schon matcht. Solltest Du vielleicht umdrehen.
kartoffelkopf
.
.
 
Beiträge: 59
Registriert: 06.02.2010 15:03

Beitragvon Nikolas » 07.02.2010 18:59

vielen Dank für den Tipp. leider hat er aber auch nicht geholfen.
--------------------------------------------------------------
Gracians Handorakel: http://www.handorakel.de
Nikolas
.
.
 
Beiträge: 5
Registriert: 07.02.2010 13:09

Beitragvon kartoffelkopf » 07.02.2010 22:32

~nikolas ist auch ein Spezialverzeichnis, welches in der httpd.conf zum HOMEDIR des Benutzers weitergeleitet wird. Probierst Du besser in einem normalen Verzeichnis oder mit .htaccess im HOMEDIR selber.
kartoffelkopf
.
.
 
Beiträge: 59
Registriert: 06.02.2010 15:03

Beitragvon Nikolas » 08.02.2010 21:12

danke für den Tipp, aber eigentlich wollte ich die Umleitung genauso wie in der htaccess beschrieben. Die Verzeichnisstruktur drumherum zu verändern, wäre ein unschöner Workaround. (Wenn es überhaupt das Problem lösen würde)
--------------------------------------------------------------
Gracians Handorakel: http://www.handorakel.de
Nikolas
.
.
 
Beiträge: 5
Registriert: 07.02.2010 13:09

Beitragvon Nikolas » 08.02.2010 23:09

hallo,

du hattest mit dem localhost-Tipp recht. ich habe noch ein bisschen rumgefummelt und hatte schließlich mit der neuen RewriteBase Glück:
Code: Alles auswählen
RewriteBase /~nikolas/formelsammlung


Danke für die Hilfe!
[/code]
--------------------------------------------------------------
Gracians Handorakel: http://www.handorakel.de
Nikolas
.
.
 
Beiträge: 5
Registriert: 07.02.2010 13:09


Zurück zu mod_rewrite

Wer ist online?

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

cron