【发布时间】:2010-11-09 21:19:42
【问题描述】:
我正在尝试在我设置的 Ubuntu 服务器上启用 .htaccess 文件。我从以下位置更改了站点文件:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
[unnecessary config code omitted]
</VirtualHost>
到
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/document_root
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/document_root>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
[unnecessary config code omitted]
</VirtualHost>
现在,当我尝试在浏览器中查看页面时,我收到 500 内部服务器错误。关于我的问题可能是什么的任何想法?感谢您的帮助。
编辑
这是我的 .htaccess 文件:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
我按要求检查了 apache 错误日志,似乎记录的错误是:
[2009 年 7 月 10 日星期五 19:39:12] [警报] [客户端 192.168.1.1] /var/www/document_root/.htaccess: 无效的命令“重写引擎”, 可能拼写错误或由 a 定义 模块不包含在服务器中 配置
【问题讨论】:
-
您的 .htaccess 文件中可能存在语法错误。您能否提供 .htaccess 文件的内容,并查看 ErrorLog (/var/log/apache2/error.log)