này các bạn! tôi có một vấn đề kỳ lạ với định tuyến URL. Khi tôi yêu cầu một URL không tồn tại, ví dụ http: // localhost / foo , wordpress trả về chính xác 404. Tuy nhiên, nếu URL đó là tiền tố của một bài đăng hoặc tên trang, thay vào đó, nó sẽ trả về chuyển hướng 301 cho bài đăng hoặc trang.
ví dụ: nếu tôi có một bài đăng vào ngày 10/1/2010 có tên Food Post, nó sẽ trả về 301 với Địa điểm: http: // localhost / 2010-10-01_food_post (cấu trúc permalink của tôi). tương tự, nếu tôi có một trang có tên là Trang thực phẩm, nó sẽ trả về 301 với Địa điểm: http: // localhost / food_page .
bạn có thể thấy điều này trong hành động trên trang web trực tiếp của tôi, http://snarfed.org/ . ví dụ: http://snarfed.org/foo chuyển hướng đến http://snarfed.org/2009-10-30_food_highlight .
tắt permalinks (tức là chuyển sang "mặc định") sẽ sửa nó, cho cả bài viết và trang, nhưng tự nhiên tôi không thực sự muốn làm điều đó.
Tôi thấy điều này trên ba bản cài đặt khác nhau, tất cả wordpress 3.0.1 và apache 2.2, hai ubfox lucid / mysql 5.1 và một freebsd 7.3 / mysql 5.0. Tôi đã tắt tất cả các plugin và xóa mọi thứ khỏi .htaccess của tôi ngoại trừ các dòng cho wordpress bên dưới, nguyên văn, nhưng không có may mắn.
RewriteEngine On
RewriteBase /
RewriteRule ^wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
cảm ơn trước...