it-swarm-vi.tech

Wordpress ghi đè các biến GET, (page_id) được đặt trong HTACCESS 

Tôi có một trang wordpress cực kỳ lớn và đẩy Wordpress đến giới hạn của nó. Nó sử dụng một số trang/danh mục và rất nhiều quy tắc .htaccess để sắp xếp các phần khác nhau của trang web (dành cho một tạp chí lớn).

Một vấn đề đặc biệt là thực sự ném đá tôi. Tôi có các quy tắc sau trong .htaccess ...

RewriteRule ^(cat|tag)/([^\/]+)(/?)$ index.php?page_id=3&s1=$2 [L,QSA]
RewriteRule ^xyz/([^\/]+)(/?)$ index.php?page_id=6&s1=$1 [L,QSA]

Bây giờ, nếu đối số được cung cấp cho trang cat/tag không có dấu gạch chéo, nó luôn hoạt động. Nếu đối số có dấu gạch chéo, thẻ trong câu hỏi khớp với các mục trong bảng không có Wordpress hoạt động với trang 'xyz', Wordpress tải trang đó thay vào đó, ngay cả khi thẻ có mặt.

Tôi đã kiểm tra rằng các quy tắc luôn hoạt động, và họ làm. Wordpress luôn nhận được $ _GET ['trang'] chính xác của 3 và thẻ slug là $ _GET ['s1'], và vẫn quyết định hiển thị hoàn toàn một trang khác nếu điều trên là đúng.

Mọi thứ được thực hiện trong .htaccess, permalinks trong wordpress bị tắt hoàn toàn. Làm cách nào tôi có thể dừng WP hình thức quyết định đối với page_id nó đã được yêu cầu sử dụng.

1
beseku

Định tuyến URL của WordPress thực sự rất khó để làm việc. Tôi đang mong chờ ngày nó được thay thế bằng một thứ gì đó hợp lý hơn (và tôi hy vọng rằng mình sẽ trở thành người viết mã để thay thế nó, nhưng tôi lạc đề ...)

Tuy nhiên tôi nghĩ vấn đề đầu tiên của bạn là cố gắng làm mọi thứ trong .htaccess. Có lẽ tôi đã có nhiều kinh nghiệm hơn với thiết kế URL và viết lại URL hơn bất kỳ ai khác mà tôi biết và tôi thực sự sẽ không cố gắng chiến đấu với WordPress bằng .htaccess; rất có thể bạn sẽ chỉ nhận được loại kết quả hiện đang khiến bạn phát điên. Thay vào đó, tôi sẽ cố gắng quản lý định tuyến URL từ bên trong WordPress và sử dụng các hook khi bạn cần ghi đè lên thứ gì đó mà WordPress đang thực sự khó khăn.

Tuy nhiên, để tôi hiểu đầy đủ những gì bạn đang cố gắng thực hiện và đưa ra một giải pháp phù hợp tôi muốn xem bản đồ đầy đủ các URL bạn có trên trang web của bạn và những gì bạn muốn.

Cuối cùng tôi đã liên kết một số câu hỏi và trả lời liên quan dưới đây. Họ không trực tiếp trả lời câu hỏi của bạn nhưng họ có thể cung cấp cho bạn một cái nhìn sâu sắc và điều cuối cùng là về việc mở rộng WordPress cho lưu lượng truy cập cao.

2
MikeSchinkel