服务器从debian 6重新安装到debian 7后,我们的一个页面停止将非www重定向到www版本。奇怪的是,在所有其他虚拟主机上,它的工作非常好。
虚拟虚拟主机(已启用):
<VirtualHost *:80>
ServerAdmin info@ravand.org
ServerName ravand.org
ServerAlias *.ravand.org
DocumentRoot /var/www/ravand.org/forum/
ErrorLog /var/log/apache2/ravand.org/ravand.org_error.log
CustomLog /var/log/apache2/ravand.org/ravand.org_access.log combined
</VirtualHost>
在这里我们的.htaccess:
DirectoryIndex index.php?page=Portal
# WCF-SEO-START
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^ravand.org$
RewriteRule (.*) http://www.ravand.org/$1 [R=301,L]
RewriteRule ^tag/([0-9]+)\-([^/\.]*)/?$ index.php?page=TaggedObjects&tagID=$1 [L,QSA]
RewriteRule ^user/([0-9]+)/([^/\.]*)/?$ index.php?page=User&userID=$1&username=$2 [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/([0-9]+)\-([^/\.]*)/last\-post\.html$ index.php?page=Thread&threadID=$3&action=lastPost [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/([0-9]+)\-([^/\.]*)/first\-new\-post\.html$ index.php?page=Thread&threadID=$3&action=firstNew [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/p([0-9]+)\-([^/\.]*)/?$ index.php?page=Thread&postID=$3 [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/([0-9]+)\-([^/\.]*)/index([0-9]+)\.html$ index.php?page=Thread&threadID=$3&pageNo=$5 [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/([0-9]+)\-([^/\.]*)/?$ index.php?page=Thread&threadID=$3 [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/index([0-9]+)\.html$ index.php?page=Board&boardTitle=$2&pageNo=$3 [L,QSA]
RewriteRule ^([^/\.]+/)*([^/\.]+)/?$ index.php?page=Board&boardTitle=$2 [L,QSA]
RewriteRule ^([^/\.]+)\.html$ index.php?page=Index [L,QSA]
</IfModule>
# WCF-SEO-END
当您尝试连接到没有www的页面时,它只会为您提供来自apache2的标准“Nothing to see here”消息 这个配置以前在重新安装之前工作,所以可能是什么原因?
此外,重写引擎已经开启。
先谢谢 ravand