Apache 2.0 + auth_mysql

Fórumok

Üdvözlet!

Sikerült beállítanom egy Debian Sarge -ban lévő mod_auth_mysql -t az apache 2.0 -hoz így:

DocumentRoot /home/www/valami.hu/members
ErrorDocument 401 /index.php

# Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
AuthMYSQL on
AuthMySQL_Authoritative on
AuthMySQL_DB dbnev
AuthMySQL_Password_Table kliens
AuthMySQL_Group_Table kliens
AuthMySQL_Empty_Passwords off
AuthMySQL_Encryption_Types MySQL
Auth_MySQL_Password_Clause " AND lejarido>NOW()"
AuthName "Védett tartalom"
AuthType Basic

require valid-user

Ez így működik is szépen. Most csak az a baj, hogy az ErrorDocument 401 nem fogad el teljes URL -t (pl. valami2.hu/regisztral.html). Az ErrorDocument 401 -ben megadtam az index.php -t, amiben csináltam egy header("Location:http://valami2.hu/regisztral.html") phpben.
De mivel az ErrorDocument index.php -je is a jelszóval védett könyvtárban (a szerver gyökerében) van, ezért nem tudja megjeleníteni, így átirányítani a megfelelő oldalra. Ha viszont a védett könyvtárat egy szinttel lejebb rakom (pl. egy tartalom könyvtárba) és módosítom a -ra, akkor nem kér jelszót és egyből behívja az ErrorDocument index.php -ját, és átirányítja a böngészőt. Ezt miért csinálja? Miért nem kér jelszót? Hogy lehetne ezt a problémát megoldani? A cél az lenne, hogy a 401 -es hibára (azaz ha nem hitelesítette magát a felhasználó, akkor átirányítódjon egy meghatározott oldalra (ami egy másik domain). Előre is köszönöm!

Hozzászólások

keszits a domain-hez egyedi 401.php-t ami ugrik a reg-re.

Ezt szerettem volna, hogy a jelszóval védeni kívánt lejebb raktam egy könyvtárral (tartalom) és csak arra állítottam be a hitelesítési igényt, így a 401.php már nem volt jelszóval védett, ellenben ilyenkor már nem kért jelszót a fájlokhoz amit a tartalom mappába raktam, hanem kapásból 401-es hibát dobott és így át is vitt a regisztrációs oldalra. de ez így sem jó,mivel így meg nem lehet letölteni a fájlokat regisztrálás után mert nem kér jelszót :(

Tisztában vagyok azzal, hogy mit szeretnék. Felteszem egyszerűbben a problémát. Miért van az hogy a /home/www/valami.hu (ez a domain DocumentRoot) könyvtárat le tudom úgy védeni, hogy MySQL -ből hitelesítsen, de a /home/www/valami.hu/tartalom könyvtárat már nem mert ilyenkor nem kér hitelesítést az apache hanem egyből 401-es hibát ad.

-AllowOverride All
+AllowOverride None
bar ez csak arra jo, hogy az alkonyvtarakban levo .htaccess ne irja felul a gyokerkonyvtarban levot. azert erdemes kiprobalni.

http://www.szabilinux.hu/authentik/index.html

szerk:
nezd meg ezt is, van irva a mysqlauthrol is:
http://www.szabilinux.hu/apache2/konfig.html#konfig_4

Hát nem tudom, apache-hoz elég zöld vagyok, de én az errordocumenteket nem tenném jelszavas mappába....
Esetleg csinálhatsz vmi ilyest:


Alias /error/ /home/www/valami.hu/error/
<Directory /home/www/valami.hu/error/ >

AuthType None
Satisfy Any
</Directory>