为了避免内容重复,我想避免多个URL(带或不带斜杠)访问我的网站页面.
目前,URL
catalog/product/1
和
catalog/product/1/
导致同一页面.我的目标是第二个URL重定向到第一个URL(当然是重定向301).我的网站的任何页面都不应该使用尾部斜杠访问,除了我的主页/显然.
做这个的最好方式是什么?使用.htaccess或routes.rb?你会怎么做?
注意:我正在开发Ruby on Rails 1.2.3
您可以使用http://github.com/jtrupiano/rack-rewrite进行网址重写,使其独立于网络服务器的差异.
rails应用程序中的示例用法:
config.gem 'rack-rewrite', '~> 1.0.0' require 'rack/rewrite' config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do r301 %r{(.+)/$}, '$1' end
我使用Apache的mod_rewrite.试试这个:
RewriteEngine on RewriteRule ^(.+)/$ $1 [R=301,L]
编辑:添加R = 301.我猜这是一个SEO优势与默认302相比.