在我的Symfony2安装的web目录中有以下.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) app.php [QSA,L]
</IfModule>
然而,当我尝试一些基本的东西时,比如:
(whatever)/web/app.php/place
它不会从URL中删除app.php。我是Apache的新手,我不知道这里发生了什么,有谁能解释一下吗?提前感谢!
编辑:由于我正在使用的web应用程序的结构,我无法将app.php或app_dev.php移出web文件夹,也无法修改Apache的服务器配置,因此我正在寻找解决此问题的替代方案。
发布于 2012-03-21 12:43:43
我刚刚得到了相同的问题,我像这样修复了它:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /web/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
发布于 2013-10-15 17:54:09
我今天遇到了这个问题,修复方法是在url重写规则的末尾附加一个/$1。
我的.htaccess看起来像这样:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php/$1 [QSA,L]
</IfModule>
虚拟主机的定义如下:
<VirtualHost *:80>
DocumentRoot /var/www/html/symfony_site/web
DirectoryIndex app.php
<Directory /var/www/html/symfony_site/web >
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
https://stackoverflow.com/questions/8424728
复制相似问题