ugrás a tartalomhoz

.htaccess segítség

Velias9 · 2008. Aug. 28. (Cs), 12.07
Sziasztok!

A kérdésem ehhez a cikkhez kapcsolódik. Azért nem oda írtam, mert lehet, hogy hosszú lesz.

Az 'URL Rewrite' módszert szeretném beüzemelni az otthoni virtuális szerveren, de nem megy. A legjobb, amit sikerült elérnem az az volt, hogy nem csinált semmit. Volt amikor 403 (Tiltva) és 500 (Szerver hiba) kódokat küldött és nem volt jó semmire az egész.

Így néz ki a fájlom:
  1. # This file provides security to the server limiting access to the localhost only.   
  2. # Comment to deactivate.  
  3.   
  4. Order Deny,Allow  
  5. Deny from all  
  6. Allow from 127.0.0.1  
  7.  
  8. # To allow execution of cgi scripts in this directory uncomment next two lines.  
  9.   
  10. AddHandler cgi-script .pl .cgi  
  11. Options +ExecCGI  
  12.  
  13. #--  
  14. # Activate this to use the Private Server Feature!  
  15. #--  
  16. # To lock server, uncomment the next 4 lines.  
  17. # Defaults: Username - root; Password - root  
  18.  
  19. #AuthName "Uniform Server - Server Access"  
  20. #AuthType Basic  
  21. #AuthUserFile /htpasswd/www/.htpasswd  
  22. #Require valid-user  
  23.   
  24. ErrorDocument 404 /hiba.htm  
  25.   
  26. <IfModule mod_rewrite.c>  
  27. #RewriteEngine on  
  28.  
  29. # Ebben az alkonyvtarban vagyunk, ezt  
  30. # figyelembe kell venni az atirasoknal  
  31. #RewriteBase /cegunkwebhelye  
  32.  
  33. # Minden nemletezo oldal webcimet iranyitsuk at az index.php-re  
  34. RewriteCond %{REQUEST_FILENAME} !-f  
  35. RewriteCond %{REQUEST_FILENAME} !-d  
  36. RewriteRule ^(.*)$ index.php?q=$1 [QSA]  
  37. </IfModule>  
Ha kiszedem a kommentből a 27. sort, akkor 403-at, ha ez mellett a 31. sort is, akkor 500-at kapok ajándékba. A modul rendelkezésre áll, mert láttam a fájlját, és be is van töltve, mert megnéztem a 'httpd.conf'-ban. Természetesen a 'RewriteBase' értékére több mindent is kipróbáltam, de semmi.

A kérdés az, hogy, ha a '.htaccess' a gyökérkönyvtárban van (tehát a 'localhost/.htacces' címen elérhető), akkor milyen értéket kell adni a 'RewriteBase'-nek? Próbáltam a "."-ot => 500; próbátam a "\."-ot is de ugyan az (vagy 403, de nem biztos).

A másik kérdés, hogy ha a gyökérkönyvtárban lévő eggyes mappák az egyes alsomain címek (nem mindeggyik), akkor az aldomainokba külön'.htaccess' kell, vagy a gyökérben lévővel kell trükközni?

Előre is köszönök minden segítséget!
 
1

CGI kell?

janoszen · 2008. Aug. 29. (P), 11.03
A CGI konkrétan kell Neked? Először takaríts ki mindent a .htaccessből ami nem kell és utána próbálj meg hibát vadászni. Maga a rewrite szabály jó, úgyhogy szerintem, a hiba a config többi részében lesz, amit valami defaultból másoltál és valszeg benne hagytál valamit amitől szomorú lettél.

Egyéb iránt érdemes a hibalogot nézegetni, oda elég értelmes hibaüzeneteket tud írni és azok legtöbbször el is mondják, konkrétan mi a probléma.
2

Ezt modja a log:

Velias9 · 2008. Aug. 31. (V), 15.37
[Sun Aug 31 15:21:00 2008] [error] [client 127.0.0.1] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: W:/www/Betoltes/Teszt.htm


Ezt az idézetet az 'error.log' fájlból szedtem. Az 500-as hiba oka az volt, hogy rosszul alkalmaztam a 'RewriteBase' elemet és megpróbáltam a '.htaccess'-be írni a 'RewriteLog' és a 'RewriteLogLevel' értékeket (mint ez kiderült a leírásból, ezt a 'httpd.conf'-ba kell tenni).

Sajnos nem tudtam rájönni, hogy mit akar ezzel mondani. Ezt egy 403 kiséretében írta a 'log'-ba.

Nem tudja valaki, hogy mit akar ezzel? Egy tesztszervert használok: Uniform Server. Ennek a beállításait próbálom állítgatni. (Amúgy kikommenteztem a '.htaccess' többi részét; és igen kell a 'cgi' témogatás, mert ezzel tudom legegyszerűbben leállítani a szervert.)
3

httpd.conf-ban engedélyezni kell

tgr · 2008. Aug. 31. (V), 18.45
httpd.conf-ba kell egy Options FollowSymLinks az adott könyvtárra, ahogy írja is. Valószínűleg a RewriteEngine on is kelleni fog majd.
5

Ez az!

Velias9 · 2008. Szep. 3. (Sze), 14.21
Köszi a segítséget, ez volt a baj!

Minden jót mindenkinek :)!
4

Off

janoszen · 2008. Aug. 31. (V), 19.09
Sajnos ez mindig előkerülő probléma. Gondolkoztam már rajta, hogy kellene egy Microsoft VirtualPC imaget csinálni egy Linux tesztszerverrel, de addig is azt javaslom, hogy ha egy hibába futsz, akkor google-zz rá, az sokat szokott segíteni.