2014-10-01 69 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