我在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/才能访问我的网站。
我缺少什么?!!
答案 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