4

我有一个即将启动的网站,并且已经提出了 URL 规范化的请求。我想知道在我的 RoR 应用程序中让http://www.example.com的所有请求永久重定向(301)到http://example.com的最佳方式是什么?或者,换一种方式问,我怎样才能去掉“www”。从所有生成的 url、路径、请求?

仅供参考,这是一个 Rails 3 应用程序。

4

2 回答 2

2

这是使用网络服务器中的重写规则完成的。

对于 nginx:http ://techtitbits.com/2010/07/wwwno-www-rewrite-rules-for-nginx/

对于 Apache: http: //www.boutell.com/newfaq/creating/withoutwww.html

另请注意,您应该将两条 A 记录添加到您的 DNS 区域文件中,如下所示

@ IN A 10.0.0.1
www IN A 10.0.0.1

将 10.0.0.1 替换为您的 IP 地址。

于 2011-02-14T23:12:18.240 回答
1

对于 Apache,您可以将以下代码添加到您的 ROR 应用程序中的 /public/.htaccess 文件中。我在我的大多数应用程序中都使用它,因为我不喜欢“www”

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

希望这可以帮助

于 2011-02-15T00:24:50.093 回答