Tôi có cấu trúc này: site.com/api/index.php
. Khi tôi gửi dữ liệu đến site.com/api/
không có vấn đề gì, nhưng tôi tưởng tượng nó sẽ tốt hơn nếu api sẽ hoạt động mà không có dấu gạch chéo, cũng như sau: site.com/api
. Điều này gây ra chuyển hướng 301 và do đó mất dữ liệu (vì dữ liệu không được chuyển tiếp). Tôi đã thử mọi lần viết lại tôi có thể nghĩ đến và không thể tránh được sự chuyển hướng. Đây là quy tắc viết lại hiện tại của tôi (mặc dù nó có thể không liên quan).Cách truy cập index.php của thư mục mà không có dấu gạch chéo và KHÔNG chuyển hướng 301
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^api/(.*)$ api/index.php [L]
Tôi có thể làm cho url này hoạt động và duy trì dữ liệu bài đăng mà không sử dụng dấu gạch chéo không?
Một số viết lại mà không làm việc: (tất cả vẫn redirect)
RewriteRule ^api$ api/index.php [L]
RewriteRule ^api/*$ api/index.php [L]
Dấu gạch chéo sau được thêm bởi mô-đun apache mod_dir: http://httpd.apache.org/docs/2.2/mod/mod_dir.html –
Ngoài ra, quy tắc viết lại của bạn, theo cách được viết, có dấu gạch chéo theo sau là một phần của quy tắc. Có lẽ bạn chỉ cần xóa '/' khỏi quy tắc và nó sẽ hoạt động. –
Phải. Tôi đã nghĩ rằng tôi có thể viết lại một yêu cầu đến thư mục đó ngay tới index.php để mô-đun không bao giờ khởi động, nhưng nó không hoạt động. Tôi sẽ cập nhật để hiển thị những gì tôi đã thử ở đó. – m59