2012-01-26 72 views
1

我有一个问题,我的非www www重定向。我的.htaccess文件中的其他一切按预期工作。我的htaccess看起来如下。htaccess非www到www不工作,其他重定向工作

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} !^www\.mysite\.com$ [NC] 
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L] 

# Redirect old URLs to new ones 
RewriteRule ^(about)$ about-us [L,R=301] 
RewriteRule ^(contact-us)$ contact [L,R=301] 

#Place index.php after hostname 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $2 !\.(gif|jpe?g|png|css|pdf|swf|fla|ppt|php|js)$ [NC] 
RewriteCond $1 !\.(gif|jpe?g|png|css|pdf|swf|fla|ppt|php|js)$ [NC] 

RewriteRule ^(.*)$ index.php/$1 [L] 

其他重定向工作,只是非www到www没有。任何人都可以指向正确的方向。谢谢

+0

你有没有运行各种领域同义词的phpinfo脚本来验证您的主机设置正确HTTP_HOST?一些托管服务在Apache的根的配置进行处理后,重新设置的答复 – TerryE

+0

@TerryE谢谢,这似乎是正确设置。 HTTP_HOST \t www.mysite.com HTTP_CONNECTION \t保持活跃 – Henrick

+0

@Henrick你正好有不同的目录多个.htaccess文件? – Prix

回答

0

同样的问题,我太努力了。最后我找到了解决办法。如果使用的是虚拟主机,然后在你的虚拟主机的设置更改: ServerAlias *.domain.comServerAlias domain.com

这将解决您的问题。我不知道它为什么导致这个问题,但有人apache专家可以帮助解决这个问题。