2014-12-28 39 views
1

我需要的是從www.my_website123.commy_website123.com重定向任何url www.my_website123.com/some_thingmy_website123.com/some_thing。我有這個文件/etc/apache2/sites-available/sub_domain123.main_domain123.com從www域重定向到根域 - 工作但不完全正確

<VirtualHost *:80> 
    ServerName my_website123.com 
    ServerAlias www.my_website123.com 
    ServerAlias sub_domain123.my_website123.com 
    ServerAlias files.my_website123.com 
    ServerAdmin [email protected]_website123.com 
    #DocumentRoot /var/sub_domain123/public 
    DocumentRoot /web/sub_domain123.my_website123.com/current/public 
    ErrorLog /var/log/apache2/sub_domain123_errors.log 
    LogLevel warn 
    CustomLog /var/log/apache2/sub_domain123_access.log combined 
    SetEnv RAILS_ENV production 
    Header set Access-Control-Allow-Origin "http://sub_domain456.my_website123.com" 
    Header set Access-Control-Allow-Credentials true 
    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^www\.my_website123\.com$ [NC] 
    RewriteRule ^(.*)$ http://my_website123.com/$1 [R=301,L] 

    <Directory /var/sub_domain123/public> 
    Allow from all 
    Options -MultiViews 
    </Directory> 
</VirtualHost> 

<VirtualHost *:443> 
..... 

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

是我加的。然後我這樣做:

a2enmod rewrite 
/etc/init.d/apache2 restart 

它幾乎可以正常工作。但是:

curl -I http://www.my_website123.com 
HTTP/1.1 302 Found 
Date: Sun, 28 Dec 2014 04:12:04 GMT 
Server: Apache/2.2.22 (Ubuntu) 
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 3.0.21 
Cache-Control: no-cache 
  1. 我必須刪除ServerAlias www.my_website123.com
  2. 我必須重新命名ServerName my_website123.comServerName www.my_website123.com
  3. 它重定向我www.my_website123.com/login到http://my_website123.com//login這是除了它包含雙斜槓(.com//login)的事實確定。我如何刪除它?
  4. 爲什麼它返回302狀態碼而不是301?

回答

1

您需要刪除RewriteRule中的尾部斜槓/Reference)。此外,需要一個ServerName和ServerAlias。所以,更新後的規則如下所示。

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

不知道爲什麼它應該返回302。但是,嘗試更新的規則,並看看你得到什麼迴應。

祝你好運!