Sven Rautenberg (off site): RewriteRule und <Files>

Beitrag lesen

Moin,

ich leite anfragen auf meiner seite so um:

RewriteCond /foo/bar/$1.php -f
RewriteRule ^([a-z]+)(/|\s*)$ /$1.php [L]

ich möchte jetzt das wenn die anfrage /foobar/ kommt
einen benutzer einfordern.
Vorher habe ich das so gemacht:

<Files foobar.php>
Require user xyz
</Files>

das klappt jetzt ja aber nicht mehr.
wie kann ich für eine bestimmt anfrage einen benutzer fordern?

<Files> greifen erst ganz am Ende, wenn der Webserver sich für eine Datei entschieden hat.

Das URL-Rewriting geschieht lange vorher. Und offenbar willst du das Passwort ja auch nicht dateibasiert, sondern URL-basiert fordern - schließlich sind die Passworte ja auch URL-basiert, alles andere bringt die Browser eventuell etwas aus dem Konzept.

Folglich wär's keine schlechte Idee, wenn
a) du's mit <Location> probierst
b) evtl. das Passwortchecking direkt mit mod_rewrite machst, oder
c) es in dein PHP verlagerst (sofern mod_php benutzt wird). ;)

- Sven Rautenberg