Vấn đề trùng lặp nội dung Magento .htaccess viết lại chuyển tiếp 301


7

tôi có một số vấn đề với nội dung trùng lặp trên trang web của tôi. trong quá khứ tôi đã thiết lập các cửa hàng đa dạng và tôi đã vô hiệu hóa chúng nhưng các url dường như vẫn tồn tại. tôi muốn thiết lập một ví dụ về quy tắc chuyển tiếp:

bây giờ tôi có 2 trang sản phẩm:

website.com/product-abc-123

website.com/product-abc-123?___store=tienda

Tôi muốn thiết lập ngay bây giờ? ___ store = tienda sẽ luôn được chuyển hướng đến url gốc. tôi đã kiểm tra? ___ cửa hàng = Tienda trang sản phẩm giữ kinh điển link rel = canonical href = website.com/product-abc-123 nhưng tôi muốn để thoát khỏi chúng như tôi có tấn của họ hiển thị trong công cụ google webmaster.

điều tương tự cũng xảy ra với blog tích hợp của tôi trong magento với phần mở rộng fishpig, tôi viết bài viết trên blog và dường như nó tạo ra nội dung trùng lặp với cùng cấu trúc url:

website.com/blog/carget/article1.html

website.com/blog/carget/article1.html?___store=tienda

Lý tưởng nhất là tôi muốn tạo một quy tắc trong tệp .htaccess, điều tôi có thể làm là chuyển hướng tất cả các liên kết từ? ___ store = tienda sang trang chủ thêm vào sau tệp .htaccess

RewriteEngine On

RewriteCond %{THE_REQUEST} \?___store=tienda

RewriteRule ^(.*)$ /$1? [L,R=301]

nguồn: /programming/16291281/rewriting-all-urls-with-a-question-mark

Câu trả lời:


2

Có vẻ như bạn đã trả lời câu hỏi của riêng bạn. Tôi đã đặt dòng RewriteCond và dòng RewriteRule từ câu hỏi của bạn trong tệp .htaccess của tôi (sau 'RewriteEngine hiện có') và thực hiện yêu cầu cuộn tròn từ thiết bị đầu cuối của tôi để xem điều gì xảy ra;

  hackathon  curl -vvv http://hackathon.dev/customer/account/index\?___store\=tienda
*   Trying 127.0.0.1...
* Connected to hackathon.dev (127.0.0.1) port 80 (#0)
> GET /customer/account/index?___store=tienda HTTP/1.1
> Host: hackathon.dev
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Fri, 15 Jan 2016 08:20:26 GMT
< Server: Apache/2.4.16 (Unix) PHP/5.6.16
< Location: http://hackathon.dev/customer/account/index
< Content-Length: 251
< Content-Type: text/html; charset=iso-8859-1

Như bạn có thể thấy, nó thực hiện chuyển hướng 301 từ http://hackathon.dev/customer/account/index?___store=tienda đến http://hackathon.dev/customer/account/index , chính xác như bạn đã mô tả.

Khi tôi thử một cửa hàng khác, nó phản hồi chính xác với 302;

  hackathon  curl -vvv http://hackathon.dev/customer/account/index\?___store\=otherstore
*   Trying 127.0.0.1...
* Connected to hackathon.dev (127.0.0.1) port 80 (#0)
> GET /customer/account/index?___store=otherstore HTTP/1.1
> Host: hackathon.dev
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 302 Found

Vì vậy, chính xác những gì bạn chưa làm việc ngay bây giờ? Liệu chuyển hướng thậm chí hoạt động? Nếu không, có thể máy chủ của bạn đang chạy nginx?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.