Silex Micro Framework:从子文件夹运行


Silex Micro Framework: Run from a subfolder

我下载Silex是因为我想在下一个项目中试用它。我在Windows 8.1 64x下使用mamp,我认为这无关紧要,但无论如何,我将Silex放入C:''mamp''htdocs''projectfolder''(http://locahost/projectfolder/)

这意味着我得到了http://locahost/projectfolder/vendorhttp://locahost/projectfolder/web/

我在"web"目录下写了这个.htaccess

选项-多视图

RewriteEngine On
RewriteBase /projectfolder/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

如果我进入http://locahost/projectfolder/web/hello,它会非常完美,但我想来自/projectfolder/,所以我在/projectfolder中创建了一个新的htaccess文件,其中包含以下内容:

选项-多视图

RewriteEngine On
#RewriteBase /projectfolder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ web/index.php [L]

但当我运行它时,应用程序返回NotFoundException:对不起,找不到你要查找的页面。

提前感谢

我也是silex的新手,所以如果有人有更好的见解,请告诉/教我们:)

我决定在silex的一个单独的文件夹上创建一个项目,我所做的是,我创建了一个新的index.php,需要silex的autoload.php和一个基本相同的.htaccess。

所以,我有这样的结构:

/myproject/silex/
/myproject/app/
/myproject/app/index.php
/myproject/app/.htaccess

我的.htaccess

<IfModule mod_rewrite.c>
    Options -MultiViews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
</IfModule>

和我的index.php

<?php
require_once __DIR__.'/../silex/vendor/autoload.php';
...

顺便说一句,我配置了一个指向/myproject/app/的vhost

希望这能有所帮助。