2014-10-01 90 views
1

我下载了Silex,因为我想在我的下一个项目中尝试它。我使用的是Windows 8.1 64倍下甲基苯丙胺,我认为这并不重要,但,无论如何,我把捷希凯到C:\甲基苯丙胺\ htdocs中\ projectfolder \ (http://locahost/projectfolder/)Silex Micro Framework:从子文件夹运行

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

我 “网络” 目录

选项-MultiViews下写这个的.htaccess

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

它完美的作品,如果我进入http://locahost/projectfolder/web/hello,但我想来自/ projectfolder /,所以我创建了一个新的htaccess中/ projectfolder文件与此内容:

选项-MultiViews

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

但是,当我运行它时,该应用程序会重新生成NotFoundException:对不起,找不到您正在查找的页面。

在此先感谢

回答

2

我是新来的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'; 
... 

BTW,我配置了一个虚拟主机指向/ myproject/app/

Hope这有助于。

+0

好吧,我也设法让这个工作正常,现在我正在使用AMPPS堆栈,我们可以轻松创建自定义域(如MAPP PRO,因此不需要编辑VHost),所以现在它正在使用基本配置。但现在新的问题,在我的树枝模板我无法获得app.request.getbaseurl函数。我不知道为什么,我只是跟着他们的文档。 – 2014-10-04 05:35:02