Door
Moe BE
op 05-10-2012 17:34
gewijzigd op 05-10-2012 17:36
1.518 views
Standaard staat de index.php file van het framework in de map public.
Momenteel heb ik volgende regel aan mijn .htaccess file toegevoegd, maar deze zorgt er niet bepaald voor dat mijn index.php file wordt aangesproken.
RewriteRule .* public/index.php/$0 [PT]
Ik moet echter surfen naar mijnsite.com/public/ surfen om enige vorm van output te krijgen, zonder de public is het "403 forbidden"
?
Onbekende gebruiker
05-10-2012 18:27
Ik vermoed dat je niet goed begrijpt waar de public map voor is?
Dit is namelijk de map waar de document root van de betreffende webserver naar verwijst.
Dus is het absoluut niet nodig dit via een htaccess bestand te doen.
voorbeeldje vhost voor apache:
<VirtualHost *:80>
ServerName test.dev
DocumentRoot pad-naar-map/test.dev/public
<Directory pad-naar-map/test.dev/public>
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Vaak heeft de map van je webroot een naam, zoals public_html of www.joudomein.nl oid. Hernoem de map 'public' naar jou naam, zorg dat ZF2 dit door heeft en schuif heel de map 1 tja op. Zo doen we het in elk geval bij Symfony, een voorbeeldje van hoe de mappenstructuur er dan uitziet (in SF2):
app/
cache/
config/
logs/
src/
...
vendor/
...
public_html/ <!-- de map naar de webroot
app.php
...
De rest van het framework zit dus buiten de webroot, wel zo veilig ook, je kunt er dan nooit bij vanaf de buitenkant.