2011-05-18 153 views
0

在Apache的配置文件(即httpd.conf文件),我们有虚拟主机配置,这是工作了近2年。今天到那里没有问题。但是当我被要求添加重定向时,它不起作用。我的虚拟主机conatainer看起来像这样301 www.domain.com/index.html重定向到www.domain.com不工作

<VirtualHost *:80> 
    DocumentRoot /var/www/html 
    ServerName domain.com 
    Redirect 301/http://www.domain.com/ 
    Redirect 301 /index.html http://www.domain.com/ 
</VirtualHost> 

在这里,当我键入“http://domain.com”它正在为“http://www.domain.com”预期的行为。但是当我输入“http://domain.com/index.html”或“http://www.domain.com/index.html”时,它并没有把我带到“http://www.domain.com”它是joomla网站。

谁能解决这对我来说...

在此先感谢

回答

1

在新行添加

ServerAlias www.domain.com 

ServerName domain.com

+0

感谢beerwin这是有帮助的 – 2011-09-22 06:18:16

+0

高兴我的回答工作。 – beerwin 2011-10-13 17:41:27

+0

+1来补偿。 – Johan 2011-10-14 21:32:18

0

这听起来像它的应用第一重定向在尝试第二个之前。 你有没有尝试把重定向线以另一种顺序?

Redirect 301 /index.html http://www.domain.com/ 
    Redirect 301/http://www.domain.com/ 
+0

嘿!谢谢!我试过这样做......但没有运气...... – 2011-05-23 10:42:43

0

Usualy这是通过使用一个更通用的方法与mod_rewrite的实现:

此代码应放置在htaccess的文件在您的域的根,即domain.com/.htaccess 或虚拟主机配置。

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteCond %{HTTP_HOST} ^domain\.com$ 
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] 
</IfModule> 

(例如也在这里Forcing the www prefix with PHP/htaccess/mod_rewrite