301从www.domain.com/index.html重定向到www.domain.com无效

时间:2011-05-18 12:43:47

标签: redirect joomla httpd.conf

在apache配置文件(即httpd.conf)中,我们进行了虚拟主机配置,该配置最近工作了2年。今天到那里没问题。但当我被要求添加重定向时,它不起作用。我的virtualHost conatainer看起来像这样

<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网站。

任何人都可以为我解决这个问题......

提前致谢

3 个答案:

答案 0 :(得分:1)

添加

ServerAlias www.domain.com

ServerName domain.com

之后的新行中

答案 1 :(得分:0)

听起来它在尝试第二次重定向之前应用了第一次重定向。 您是否尝试过将Redirect行放入其他顺序?

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

答案 2 :(得分:0)

通常,这是通过对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