我下载 Silex 是因为我想在下一个项目中尝试它。我在 Windows 8.1 64x 下使用 mamp ,我认为这并不重要,但无论如何,我将 Silex 放入 C:\mamp\htdocs\projectfolder\(http://locahost/projectfolder/)
这意味着我得到了 http://locahost/projectfolder/vendor
和 http://locahost/projectfolder/web/
我在“web”目录下编写了这个.htaccess
选项-多 View
RewriteEngine On
RewriteBase /projectfolder/web
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
如果我进入http://locahost/projectfolder/web/hello
,它就完美了,但我想来自/projectfolder/,所以我在/projectfolder中创建了一个新的htaccess文件此内容:
选项-多 View
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/
希望这有帮助。
关于php - Silex微框架: Run from a subfolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26146403/