我已经使用tasksel在UBUNTU 12.04 64位服务器上安装了灯泡。一切都正常。但是现在我发现每个目录.htaccess apache覆盖的东西不起作用。
我在google上搜索了可能的原因。
http://www.cyberciti.biz/faq/apache-htaccess/
http://smartwebdeveloper.com/apache/htaccess-problems
但他们都没有工作。
我需要将domain.com重定向到www.domain.com。所以,我在服务器根
的.htaccess文件中使用以下代码<IfModule mod_rewrite.c>
# Enable Rewrite Engine
RewriteEngine On
RewriteBase /
# Redirect to www.
RewriteCond %{HTTP_HOST} ^domain.com$
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
</IfModule>
Apache虚拟主机配置:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
AllowOverride ALL
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
</Directory>
...........................
...........................
...........................
apacha2.conf有这个:
AccessFileName .htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy all
</Files>
答案 0 :(得分:1)
所有内容看起来都设置正确,因此有可能mod_rewrite
未启用。尝试从终端运行sudo a2enmod rewrite
。
另外,在对列出的任何文件(不是sudo service apache2 reload
文件)进行更改后,不要忘记重新加载apache(sudo service apache2 restart
)然后重新启动apache(.htaccess
)它们会在每个请求中被读取,但是您列出的其余文件都会被读取。
HTH。 :)