كيفية إزالة عنوان URL مائل زائدة في القضبان التطبيق ؟ (في وجهة نظر كبار المسئولين الاقتصاديين)
-
06-07-2019 - |
سؤال
من أجل تجنب ازدواجية المحتوى ، أود أن تجنب صفحات الموقع التي يمكن الوصول إليها من قبل العديد من عناوين المواقع (مع أو بدون مائل زائدة).
حاليا, عناوين url
catalog/product/1
و
catalog/product/1/
يؤدي إلى نفس الصفحة.هدفي هو أن الثانية توجيه URL الأولى (إعادة التوجيه 301, بالطبع).أي صفحة من موقعي ينبغي أن تكون متاحة مع خط مائل زائدة ، باستثناء الصفحة الرئيسية / من الواضح.
ما هي أفضل طريقة للقيام بذلك ؟ باستخدام .هتكس أو الطرق.rb ؟ كيف يمكنك أن تفعل ذلك ؟
ملحوظة::أنا النامية مع روبي على القضبان 1.2.3
المحلول
كنت استخدم أباتشي mod_rewrite.جرب هذا:
RewriteEngine on
RewriteRule ^(.+)/$ $1 [R=301,L]
تحرير: وأضاف R=301.أظن هناك كبار المسئولين الاقتصاديين ميزة هذا مقابلالافتراضي 302.
نصائح أخرى
هل يمكن استخدام http://github.com/jtrupiano/rack-rewrite للحصول على رابط إعادة كتابة أن تكون مستقلة عن الاختلافات في خوادم الشبكة.
والاستخدام مثال في تطبيق القضبان:
config.gem 'rack-rewrite', '~> 1.0.0'
require 'rack/rewrite'
config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do
r301 %r{(.+)/$}, '$1'
end
ويمكنك القيام بذلك باستخدام الأحجار الكريمة رف كتابة. وإليك الطريقة: <لأ href = "http://nanceskitchen.com/2010/05/19/seo-heroku-ruby-on-rails-and-removing-those-darn-trailing-slashes/" يختلط = "نوفولو noreferrer "> http://nanceskitchen.com/2010/05/19/seo-heroku-ruby-on-rails-and-removing-those-darn-trailing-slashes/
وأنت لا تستطيع الحصول على إعادة توجيه باستخدام routes.rb. أفترض أنك يمكن بناء وحدة تحكم التي تصدر فقط الموجهات وتشير جميع عناوين URL التي تنتهي في '/' لذلك، ولكن الذي يبدو معقدا دون داع. بدلا من ذلك، فما استقاموا لكم فاستقيموا استخدام mod_rewrite وفي ملف .htaccess:
RewriteRule ^(.+)/$ $1 [R=301,L]