Quy tắc viết lại bên ngoài là tuyệt vời. Họ cho phép bạn xác định các bản viết lại không nhất thiết phải thông qua WordPress ' index.php
. Điều này có nghĩa là bạn có thể ánh xạ các quy tắc tùy ý sang các tệp tùy ý như:
$wp_rewrite->add_external_rule( '^somethingrandom/?$', 'wp-content/wp-uploads/hiddendirectory/somefile.php' );
Sau đó, mọi yêu cầu thực sựhttp://site.url/somethingrandom/
sẽ được cung cấp một tệp PHP tĩnh từ một thư mục khác. Điều này thật tuyệt vời, và nó cho phép bạn làm tất cả các loại công cụ tiện lợi.
Nhưng nó chỉ hoạt động với Apache.
Các add_external_rule()
phương pháp viết quy tắc đã đăng ký của nó ra .htaccess
. Vì Nginx không sử dụng .htaccess
tệp, nên các quy tắc bên ngoài hoàn toàn bị máy chủ đó bỏ qua. Những gì tôi cần là một cách độc lập với máy chủ để đăng ký các quy tắc như chương trình ở trên. Có ý kiến gì không?
.htaccess
) dường như là một ý tưởng tồi. Vì vậy, tôi không nghĩadd_external_rule
là thực sự có thể dựa vào thứ gì đó, đặc biệt là vì nó phụ thuộc vào máy chủ web. Tôi thậm chí không muốn nghĩ về cách một người sẽ thực hiệnadd_external_rule
cho IIS.