Rails 中的规范化 - 路由还是 .htaccess?

发布于 2024-10-17 18:46:38 字数 296 浏览 5 评论 0原文

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

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

I have a site that is about to launch and a request for URL Canonicalization has been made. I want to know what is the best way to have all requests for http://www.example.com to permanently redirect (301) to http://example.com within my RoR app? Or, asked another way, how can I strip the "www." from all generated urls, paths, requests?

FYI, this is a Rails 3 app.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

三岁铭 2024-10-24 18:46:38

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

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

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

另请注意,您应该在 DNS 区域文件中添加两条 A 记录,例如

@ IN A 10.0.0.1
www IN A 10.0.0.1

将 10.0.0.1 替换为您的 IP 地址。

This is done using rewrite rules in the webserver.

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

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

Also note that you should add two A records into your DNS zone file, like so

@ IN A 10.0.0.1
www IN A 10.0.0.1

with 10.0.0.1 replaced with your IP address.

笛声青案梦长安 2024-10-24 18:46:38

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

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

希望这有帮助

For Apache, You can add the code below to your /public/.htaccess file in your ROR app.
I use this for most of my apps, because I don't like the 'www'

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

Hope this helps

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文