web/app.php未在symfony2中删除


web/app.php is not removing in symfony2

我已经创建了第一个Symfony应用程序,但url太大了

http://ip address/repair/web/app_dev.php/home

http://ip address/repair/web/app.php/home

我想把它做成http://ip地址/repair/home

这是apache2 的httpd.conf

NameVirtualHost某个ip地址

ServerName"修复">

DocumentRoot "/var/www/repair/web"
<Directory "/var/www/repair/web">
   DirectoryIndex app.php
    AllowOverride None
    Order allow,deny
    Allow from All
 RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
    RedirectMatch permanent ^/app'.php/(.*) /$1
</Directory>

symfony的web文件夹中的my.htaccess包含

Options +FollowSymlinks
RewriteEngine On  
# Explicitly disable rewriting for front controllers
RewriteRule ^app.php - [L]
RewriteRule ^app.php - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]

我已经重新编码了apache2的mod重写太

iam获取错误

在此服务器上找不到请求的URL/repair/home。

Apache/2.2.20(Ubuntu(服务器,ip地址端口80

如果您想通过ip访问网站,您需要将代码复制到"localhost"目录(/var/www,例如(

Apache配置中的AllowOverride None行导致.htaccess文件被忽略。

如果用AllowOverride All替换它,Apache将遵循.htaccess文件中的指令。

您可以在此处找到有关AllowOverride的更多信息

仔细检查是否已经为Apache加载了mod重写。在使用Apache2安装Debian6时,该模块是可用的,但没有加载。为了加载它,你可以在mods enabled目录中添加一个符号链接到mods可用目录中的模块,如下所示:

root@server:/etc/apache2/mods-enabled# ln -s ../mods-available/rewrite.load ./rewrite.load

然后你需要重新启动Apache2,让它重新加载配置。在Debian上,这将是sudo service apache2 restart