1

我想摆脱 symfony2 安装 URL 中的“web/app.php”+“web/app_dev.php”。我知道,虚拟主机是最好的方式,但你并不总是拥有自己的主机。所以我在我的项目文件夹(http://localhost/my-sf2-project/.htaccess)的 htaccess 中使用 mod_rewrite 进行了尝试......如何做到这一点,这里有很多解释。幸运的是,重写过程正在用这个 htaccess 做一些事情:

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /my-sf2-project/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ web/app_dev.php [QSA,L]
</IfModule>

这意味着,当我尝试请求http://localhost/my-sf2-project/page/1时,服务器应该重定向到http://localhost/my-sf2-project/web/app_dev.php/page/1. 我的重写日志正在确认它:

使用 /my-sf2-project/web/app_dev.php/page/1 [内部重定向] 进行内部重定向

但是现在奇怪的事情确实发生了...... symfony2 开发环境说:

找不到“GET /my-sf2-project/page/1”的路线!

这意味着请求以某种方式重定向到

  • http://localhost/my-sf2-project/web/app_dev.php/my-sf2-project/page/1

代替

  • http://localhost/my-sf2-project/web/app_dev.php/page/1

这是怎么发生的?apache 配置中是否有一些设置或我的 mod 重写中有错误,这可以解释这种奇怪的行为?

4

0 回答 0