1

我正在 Github 上使用 Fabien 的骨架设置我的第一个 Silex 项目: https ://github.com/fabpot/Silex-Skeleton

由于某种原因,我无法为该项目创建虚拟主机,silex 项目保留在子目录中。

我的目录结构如下所示:

/my/example.com/htdocs/myapp/
      ../src/app.php
      ../cache
      ../config
      ../templates
      ../vendor
      ../web/index.php 

我想通过 URL 访问我的应用程序: http ://example.com/myapp/hello/Fabien/

.htaccess在 htdocs/myapp 中创建了一个文件

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

现在我有像 http://example.com/myapp/index.php/hello/Fabien/这样的网址

我怎样才能摆脱 index.php?

4

2 回答 2

1

您应该将RewriteBase指令更改为/myapp/web

RewriteBase /myapp/web
于 2012-11-05T14:59:06.767 回答
0

仅供参考:您可以使用 php 内置 Web 服务器运行 Silex,完全不使用 Apache。这对于在本地开发环境中快速启动黑客/原型设计非常方便。Fabien 骨架的 composer.json 包含启动本地 Web 服务器的指令。composer run您可以通过在项目目录中执行来做到这一点。

这种方法的限制是 composer 将在 300 秒内停止服务器。为避免这种情况 - 您应该直接执行以下命令:php -S localhost:8888 -t web web/index_dev.php. 你好页面将在http://localhost:8888/hello/Fabien/可用。

于 2015-06-15T11:17:11.877 回答