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:

# This file provides security to the server limiting access to the localhost only. 
# Comment to deactivate.

Order Deny,Allow
Deny from all
Allow from 127.0.0.1

# To allow execution of cgi scripts in this directory uncomment next two lines.

AddHandler cgi-script .pl .cgi
Options +ExecCGI

#--
# Activate this to use the Private Server Feature!
#--
# To lock server, uncomment the next 4 lines.
# Defaults: Username - root; Password - root

#AuthName "Uniform Server - Server Access"
#AuthType Basic
#AuthUserFile /htpasswd/www/.htpasswd
#Require valid-user

ErrorDocument 404 /hiba.htm

<IfModule mod_rewrite.c>
#RewriteEngine on

# Ebben az alkonyvtarban vagyunk, ezt
# figyelembe kell venni az atirasoknal
#RewriteBase /cegunkwebhelye

# Minden nemletezo oldal webcimet iranyitsuk at az index.php-re
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [QSA]
</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.