ugrás a tartalomhoz

Apache mod_rewrite 403-as hibát eredményez

rrd · 2007. Már. 30. (P), 19.35
Hari,

Macen próbálk összehozni egy fejlesztői környezetet, de kezdek beleőszülni. Szóval mod_rewrite fut, de a kérdéses könyvtárra (http://localhost/~rrd/surabhi/index.php) 403 Forbiddent-ad vissza. Hol keresgessek, mi lehet a baja?

<Directory "/Users/rrd/Sites/">
Options Indexes
AllowOverride All
Order deny,allow
Allow from all
</Directory>
 
1

unix jogok

Őry Máté · 2007. Már. 30. (P), 19.40
A mappára és a benne lévő fájlokra is van mindenkinek olvasási (mappára futtatási) joga?
Az az options szintaktika nekem gyanús
2

jogok

rrd · 2007. Már. 31. (Szo), 08.58
jogok rendben, mindenki tudja olvasni a fileokat. Az options kikommenteltem, most nem forbidden jön hanem 404 not found. ;(

The requested URL /Users/rrd/Sites/surabhi/app/webroot/ was not found on this server.

mondjuk nem egészen értem, hogy itt miért a teljes elérési utat írja ki. De egyébként az elérési út jó, olvasható mindenkinek és letezik.
3

virtual host

Sulik Szabolcs · 2007. Már. 31. (Szo), 21.25
CakePHP-t tessék külön virtual hostra tenni és akkor menni fog, vagy használd mod_rewrite nélkül.
7

virtual host

rrd · 2007. Ápr. 2. (H), 09.41
Nem kell külön virtual host neki, megy anélkül is. Linuxszal ment is a helyi gépen is és az éles szerveren is.
9

RewriteBase

rrd · 2007. Ápr. 2. (H), 16.04
Végül az megoldotta, hogy a cake
/.htaccess, a /app/.htaccess és a /app/webroot/.htaccess filejában is megadtam a RewriteBase-t.
5

kiegészítés

Csiszár Attila · 2007. Ápr. 1. (V), 14.45
Úgy látom amiket lent írtam már megcsináltad, nembaj hátha még valakinek hasznos lehet, de szerintem most ez fog segíteni:

Adj hozzá egy RewriteBase-t a .htaccess fájlhoz, valahogy így:

RewriteBase /~rrd/suabhi/app/webroot/
Szerintem így már menni-e kellene.
4

Macen kicsit mas

Csiszár Attila · 2007. Ápr. 1. (V), 14.37
Mac-en kicsit megvan kavarva a dolog:
Ugyebár alapesetben tiltott a mod_rewrite, de ez be lehet kapcsolni az Apache conf fájljában( /etc/httpd/httpd.conf), megkeresed a
LoadModule rewrite_module...
Addmodule mod_rewrite.c
sorokat és kiveszed a kettőskeresztet. Valamint a <Directory "/Library/WebServer/Documents"> sor alatt lévő AllowOverride-t és All -ra állítod.

Igen ám, de ekkor csak a /Library/Webserver/Documents mappában dog működni a mod rewrite. Ez egyébként a kívülrő is elérhető mappád,(Sys.Pref->Sharing->Personal Web Sharing alatt megtalálod a címet ahonnan eltudják mások is érni a könyvtárad).

A Sites mappában azért nem működik a mod_rewrite mert van külön conf fájl a saját userneved/Sites mappára és abban alapesetben ott is tiltott a mod_rewrite! Ahhoz, hogy ez is menjen:

A conf file-t megtalálod a /etc/httpd/users mappában. Az enyém módosítva:

<Directory "/Users/attilacsiszar/Sites/">
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
Így elvileg már menni-e kell!
6

ez majdnem megvolt már

rrd · 2007. Ápr. 2. (H), 09.06
Az Options-t átállítottam All-ra, a többi már megvolt. Az eredmény: 400 Bad Request.
Valami más amit ég megnézhetek?
8

RewriteBase

Csiszár Attila · 2007. Ápr. 2. (H), 10.38
Először próbáld ki a /Sites mappában egy egyszerű átírányítással, hogy biztosan működik-e a dolog. A belső mappákra pedig RewriteBase-t adj meg valahogy így:
<IfModule mod_rewrite.c>
 RewriteBase /~attilacsiszar/MUNKA/PHP/
 Options FollowSymLinks
 RewriteEngine On
...
</IfModule>
Egyébként a /Library/WebServer/Documents/ mappában mindenképpen mennie kell a dolognak...