Apache Symfony2:mod_rewrite/htaccess以摆脱;web/app.php“。。。奇怪的行为
我想去掉symfony2安装URL中的“web/app.php”+“web/app_dev.php”。我知道,虚拟主机是最好的方式,但您并不总是拥有自己的主机。所以我在项目文件夹的htaccess中尝试了mod_rewrite(http://localhost/my-sf2-project/.htaccess) ... 如何做到这一点,这里有很多解释。幸运的是,重写过程正在使用此htaccess执行一些操作:Apache Symfony2:mod_rewrite/htaccess以摆脱;web/app.php“。。。奇怪的行为,apache,.htaccess,mod-rewrite,symfony,Apache,.htaccess,Mod Rewrite,Symfony,我想去掉symfony2安装URL中的“web/app.php”+“web/app_dev.php”。我知道,虚拟主机是最好的方式,但您并不总是拥有自己的主机。所以我在项目文件夹的htaccess中尝试了mod_rewrite(http://localhost/my-sf2-project/.htaccess) ... 如何做到这一点,这里有很多解释。幸运的是,重写过程正在使用此htaccess执行一些操作: <IfModule mod_rewrite.c> Options
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /my-sf2-project/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/app_dev.php [QSA,L]
</IfModule>
选项+FollowSymLinks
重新启动发动机
重写库/my-sf2-project/
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$web/app_dev.php[QSA,L]
这意味着,当我试图请求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 rewrite中是否存在错误,可以解释这种奇怪的行为?您确定不希望将其重写为
/my-sf2-project/web/app_dev.php
,而不是/my-sf2-project/web/app_dev.php/page/1
(这看起来不应该发生)?但我为什么要将其重写为/my-sf2-project/web/app_dev.php
?我也想转换路由,就像在localhost/my-sf2-project/page/1中一样。。。或者我只是不了解这里的内部工作原理(