Symfony2:mod_rewrite / htaccess摆脱“web / app.php”......奇怪的行为

时间:2012-10-03 20:27:18

标签: apache .htaccess mod-rewrite symfony

我想在我的symfony2安装的网址中删除“web / app.php”+“web / app_dev.php”。我知道,虚拟主机是最好的方式,但你并不总是拥有自己的主机。所以我在我的项目文件夹的htaccess中尝试了mod_rewrite(http://localhost/my-sf2-project/.htaccess)...怎么做,这里有很多解释。幸运的是,重写过程正在用这个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重写中有错误,这可以解释这种奇怪的行为?

0 个答案:

没有答案