www到非www重定向.htaccess代码无法在我的网站上运行?

时间:2009-04-17 06:26:04

标签: apache .htaccess url-routing

我想通过.htaccess将http://www.example.com重定向到http://example.com。我发现并尝试了下面列出的代码,但没有任何作用。任何人都可以告诉我解决方案。

当我输入http://www.example.com

时,我在所有代码上收到此错误Socket Error 10049

我托管的 Apache版本是2.0.63 。我的.htaccess文件位于public_html /

Options +Followsymlinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L,QSA]


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


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com
RewriteRule (.*) http://example.com/ [R=301,L]

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

RewriteEngine On
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^example\.com
RewriteRule (.*) http://example.com/$1 [R=301,L] 

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

3 个答案:

答案 0 :(得分:3)

  

我在所有代码

上收到此错误套接字错误10049

我不认为这是由www重定向引起的。这通常是当您尝试“侦听”服务器所没有的IP地址时获得的内容。 (通常当您将httpd.conf从一个服务器复制到另一个服务器时。)

顺便提一下,如果您有权访问httpd.conf,使用“Redirect”进行单站点重定向会更简单快捷。

<VirtualHost *:80>
    ServerName example.com
    ...real settings...
</VirtualHost>
<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / http://example.com/
</VirtualHost>

答案 1 :(得分:0)

http://no-www.org/

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

答案 2 :(得分:0)