Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
htaccess bizarr [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-consult PHP Entwicklung
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
htaccess bizarr


 
pekka
24-09-2009, 10:50 
 
Sagt mal, übersehe ich hier was total offensichtliches?

Ich habe eine .htaccess:

RewriteCond %{REQUEST_URI} ^/feeds/(.*)$
RewriteCond %{REQUEST_URI} !^/feeds/index\.php
RewriteCond %{REQUEST_URI} !^/feeds/core
RewriteCond %{REQUEST_URI} !^/feeds/profile

RewriteRule .* /feeds/index.php?durchreiche_params=%1&%{QUERY_STRING}


Soll heißen: Leite alle Aufrufe unter /feeds/xyz an index.php weiter, ausser der Aufruf geht in die Unterordner /core oder /profile, denn diese existieren physisch, oder natürlich an die index.php selbst.

Das funktioniert für /profile auch wunderbar, aber für /core nicht: Die (negative) Bedingung greift schlicht nicht, alle /core-Aufrufe werden an die index.php weitergeleitet.

Hat jemand eine Erklärung, warum?!?!

 
AmicaNoctis
24-09-2009, 14:09 
 
Hallo,

hast du es schon mit RewriteLog und RewriteLogLevel versucht? Damit kommst du dem bestimmt auf die Schliche.

Gruß,

Amica

 
pekka
24-09-2009, 14:59 
 
Gute Idee, aber der Server, um den es geht, ist ein Shared-Hosting-Paket und ich komme an die Apache-Logs nicht ran.

Wenn es aber nicht anders klappt, werd ich die Umgebung lokal spiegeln und es dort ausprobieren... Daß "core" ein reserviertes Wort ist oder so ist ja ausgeschlossen.

 
AmicaNoctis
24-09-2009, 15:06 
 
Gute Idee, aber der Server, um den es geht, ist ein Shared-Hosting-Paket und ich komme an die Apache-Logs nicht ran.

An die Access und Error Logs nicht, aber mit RewriteLog kannst du eine eigene Datei angeben, an die du ran kommst und in der dann nur drin steht, welche Regeln wie umgesetzt wurden.

 
wahsaga
24-09-2009, 15:38 
 
Die RewriteLog-Direktive ist aber nur in der zentralen Server-Konfiguration bzw. im VirtualHost setzbar - hat man bei shared hosting meist auch keinen Zugriff daruf.


Im kurzen lokalen Test (Apache 2.2/Vista) konnte ich den Fehler aber nicht nachstellen - Aufruf von /core zeigt den Verzeichnisinhalt ebenso wie /profile, alles andere wird an die index.php geleitet.


Btw.: Deine Regeln leiten auch nicht um, wenn /profileabc oder /corexyz angefordert werden, obwohl das nicht physisch existiert. Weiss nicht, ob das gewollt ist?

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:01 Uhr.