2011-05-18 53 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