我下载了Silex,因为我想在我的下一个项目中尝试它。我在Windows 8.1 64x下使用mamp,我认为这并不重要,但无论如何,我将Silex放入C:\ mamp \ htdocs \ projectfolder \ (http://locahost/projectfolder/)
这意味着我获得了http://locahost/projectfolder/vendor
和http://locahost/projectfolder/web/
我在" web"下写了这个.htaccess。目录
选项-MultiViews
RewriteEngine On
RewriteBase /projectfolder/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如果我进入http://locahost/projectfolder/web/hello
,但是我希望来自/ projectfolder /,它是完美的,所以我在/ projectfolder中用这个内容创建了一个新的htaccess文件:
选项-MultiViews
RewriteEngine On
#RewriteBase /projectfolder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ web/index.php [L]
但是当我运行它时,应用程序重新调整NotFoundException:抱歉,找不到您要查找的页面。
提前致谢
答案 0 :(得分:2)
我也是沉默的新人,所以如果有人有更好的见解,请告诉/教我们:)
我决定在一个与silex不同的文件夹上创建一个项目,我所做的是,我创建了一个新的index.php,需要使用silex的autoload.php和一个基本相同的新.htaccess。 / p>
所以,我有这个结构:
/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,我配置了一个vhost指向/ myproject / app /
希望这有帮助。