Apache-2.2

Apache 子域重定向失敗

  • January 31, 2012

我剛買了域vas.im ,我為vas.imwww.vas.im添加了 DNS 規則,然後我試圖讓 apache2 將後者重定向到前者。我啟用了 mod_rewrite, appended /etc/apache2/httpd.conf,然後重新啟動了 apache2 服務。

ServerName localhost
AccessFileName .htaccess

# Redirect www to non-www
RewriteEngine On
RewriteEngine On
RewriteCond %{HTTP_HOST} ^[url]www.vas.im[/url] [NC]
RewriteRule ^(.*)$ [vas.im...] [L,R=301]

我一定犯了一些錯誤,因為 www 域沒有重定向。我不會假裝我理解 mod_rewrite,所以我想知道這裡是否有人知道問題所在。

我建議你這樣做:

<VirtualHost *:80>
    ServerName www.vas.im
   #ServerAlias vas.net
   #add aliases if any
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.vas\.im$ [NC]
    RewriteRule ^ http://vas.im/%{REQUEST_URI}%{QUERY_STRING} [L,QSA,R=301]
</VirtualHost>

<VirtualHost *:80>
   ServerAdmin webmaster@dummy-host.example.com
   DocumentRoot /path/to/documentroot
   ServerName vas.im
   ErrorLog logs/your_log_file_name
   CustomLog logs/your_log_file_name common
</VirtualHost>

或者,您可以將第一個虛擬主機塊更改為: 對於此方法,您必須使用. 因此,請確保您已將模組載入到文件中。mod_alias's Redirectmod_alias``.conf

<VirtualHost *:80>
    ServerName www.vas.im
   #ServerAlias vas.net
   #add aliases if any
    RedirectMatch 301 /(.*) http://vas.im/$1
</VirtualHost>

引用自:https://serverfault.com/questions/355438