PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RewriteRule /admincms/(.*)/$ index.php [L]



auto01
23.07.10, 13:28
Hallo!

Ich habe folgendes Problem.

Die RewriteRule:


<IfModule mod_rewrite.c>

## enable rewrites

Options +FollowSymLinks
RewriteEngine on

## rewrite admin-sites to admin-index
RewriteRule ^/admincms/(.*)/$ /admincms/index.php?loc=$1
</IfModule>

reagiert nicht in einer htaccess-Datei.
Ich bekomme einen "HTTP/1.1" 404 276" Fehler. Ich konnte auch noch nicht herausfinden, was der Status 207 bedeutet.
Wenn ich das in der Apache-Conf eintrage funktioniert die RewriteRule

Das komische daran ist nur das z.B folgende RewriteRule in der htaccess-Datei funktioniert:



<IfModule mod_rewrite.c>

## enable rewrites
RewriteEngine on



RewriteRule .* index.php [L]

</IfModule>

Hier wird alles auf die index.php weiter geleitet.

Ist die Syntax zwischen htaccess und httpd.conf unterschiedlich oder was mache ich falsch?
Irgendwie wird "^/admincms/(.*)" nicht erkannt.

Ich habe es auch mit
"/admincms/(.*)", "^admincms/(.*)", "admincms/(.*)" probiert.

John W
23.07.10, 15:00
404 heißt nicht gefunden; er hat offenbar umgeschrieben, findet aber das neue Ziel nicht.
Ich würd das erstmal runterreduzieren und dann, falls das immer noch nicht klappt, den Pfad abändern, z.B. ersten Slash weglassen oder ähnliches:

RewriteRule ^/admincms/(.*)/$ /admincms/index.php

auto01
23.07.10, 15:29
404 heißt nicht gefunden; er hat offenbar umgeschrieben, findet aber das neue Ziel nicht.
Ich würd das erstmal runterreduzieren und dann, falls das immer noch nicht klappt, den Pfad abändern, z.B. ersten Slash weglassen oder ähnliches:

RewriteRule ^/admincms/(.*)/$ /admincms/index.php

Vielen Dank für die Antwort.

Was 404 bedeutet ist mir schon bekannt. Was aber die 276 bedeutet weiß ich nicht.


RewriteRule ^admincms/(.*)/$ /admincms/index.php?loc=$1 [L]

Funktioniert jetzt, zumindest fast.
Es ist jetzt nur so, dass das [L] nicht greift, da er jetzt auch in die nächste RewriteRule rein läuft, was das "[L]" ja verhindern soll.
Das ganze sieht jetzt so aus:


<IfModule mod_rewrite.c>

## enable rewrites

Options +FollowSymLinks
RewriteEngine on
RewriteBase /
## rewrite admin-sites to admin-index
RewriteRule ^admincms/(.*)/$ /admincms/index.php?loc=$1 [L]

## rewrite everything else to index.php

RewriteRule .* index.php [L]

</IfModule>
Wenn "RewriteRule .* index.php [L]" auskommentiert ist, macht er was er soll. Wenn es wieder drin ist, wird mir die index.php im Root Verzeichnis angezeigt.

Roger Wilco
23.07.10, 16:00
Was 404 bedeutet ist mir schon bekannt. Was aber die 276 bedeutet weiß ich nicht.
Die Größe des Response-Bodys in Bytes, siehe http://httpd.apache.org/docs/2.1/mod/mod_log_config.html

auto01
23.07.10, 16:06
Die Größe des Response-Bodys in Bytes, siehe http://httpd.apache.org/docs/2.1/mod/mod_log_config.html

OK, Danke!