2013-04-10 32 views
6

tôi tìm thấy những quy tắc viết lại trong .htaccess của trang web WordPress của tôi:Giải thích trên WordPress' viết lại quy tắc

RewriteEngine On 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

Tôi biết rằng điều này về cơ bản đề cập đến tất cả mọi thứ index.php. Nhưng làm thế nào nó hoạt động? Quy tắc nào làm gì?

+0

Tôi có cùng một câu hỏi (http://stackoverflow.com/q/35303598/2983568) và tìm thấy giải thích chi tiết tại đây: http://glennmessersmith.com/pages/wphtaccess.html – supafly

Trả lời

8

Tôi tìm thấy một số tài liệu tham khảo ở đây: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

RewriteEngine On cho phép các module viết lại.

RewriteRule ^index\.php$ - [L] đảm bảo rằng nếu index.php được gọi, không có quy tắc nào khác được thực thi. Các - là để đảm bảo không viết lại sẽ xảy ra, và cờ [L] chỉ ra rằng không có quy tắc khác nên được thực thi.

RewriteCond %{REQUEST_FILENAME} !-f thêm điều kiện vào quy tắc ghi đè sau. Điều kiện này cho biết tên tệp được yêu cầu là không phải là (!) tệp hiện có.

RewriteCond %{REQUEST_FILENAME} !-d giống nhau, nhưng đối với một thư mục hiện có.

RewriteRule . /index.php [L] nói rằng tất cả mọi thứ (.) nên được viết lại để /index.php, và rằng đây là quy tắc cuối cùng để thực hiện ([L]).

Các vấn đề liên quan