URL重写在Symfony2中不起作用

时间:2013-05-14 16:19:22

标签: apache mod-rewrite symfony

我在Symfony 2下有一个网站,希望有一个基本的URL重写。

启用Apache mod重写。 Apache已多次重启。

# a2enmod rewrite
Module rewrite already enabled

虚拟主机似乎没问题

<VirtualHost *:80>
    ServerName mydomain.com
    ServerAlias www.mydomain.com

    DocumentRoot /home/www/mydomain/web
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/www/mydomain/web>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这是我的.htacess

<IfModule mod_rewrite.c>
    RewriteEngine On

    #<IfModule mod_vhost_alias.c>
    #    RewriteBase /
    #</IfModule>

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>

http://mydomain.com/提供了“索引”页面,我必须通过http://mydomain.com/app.php/才能访问我的网站。

我缺少什么?!!

1 个答案:

答案 0 :(得分:1)

您需要将AllowOverride None更改为AllowOverride All

  

当此指令设置为None且AllowOverrideList设置为   没有.htaccess文件被完全忽略。在这种情况下,服务器   甚至不会尝试读取文件系统中的.htaccess文件。

未指定时,AllowOverrideList is set to None

http://httpd.apache.org/docs/current/mod/core.html#allowoverride