2012-01-05 37 views
7

tôi cần phải viết lại quy tắc trong cài đặt easyphp trên cửa sổ 7.easyphp .htaccess quy tắc

tôi cần đảm bảo quy tắc được tải đúng và tôi không phải tạo hàng tấn quy tắc. Ngoài ra, khi tôi sao chép .htaccess vào máy chủ của tôi (đó là linux) tôi muốn chắc chắn rằng nó hoạt động đúng.

tôi không có kinh nghiệm với điều này và đây là những gì tôi tìm thấy diging internet:

RewriteRule (.*) index.php?s=$1 

bây giờ, nếu tôi có trang cơ bản như 'xúc-us' của nó ok nhưng nếu tôi có trang phụ nó không . làm thế nào tôi có thể tạo các thư mục con?

cảm ơn bạn

Trả lời

11

Đây là những gì bạn cần làm:

RewriteEngine On 
RewriteBase/
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?main=$1 [NC,L] 
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ index.php?main=$1&sub=$2 [NC,L] 

này sẽ cho phép bạn có các trang như:

http://www.domain.com/mainpage/ or 
http://www.domain.com/mainpage or 
http://www.domain.com/mainpage/subpage/ or 
http://www.domain.com/mainpage/subpage 

/? Có nghĩa là các dấu gạch chéo là không bắt buộc

[NC] Điều này làm cho thử nghiệm case-insensitive - sự khác nhau giữa 'A-Z' và 'a-z' được bỏ qua, cả trong TestString mở rộng và CondPattern. Cờ này chỉ có hiệu quả để so sánh giữa TestString và CondPattern. Nó không có tác dụng trên kiểm tra hệ thống tập tin và yêu cầu phụ.

[L] Cờ [L] khiến mod_rewrite ngừng xử lý tập hợp quy tắc. Trong hầu hết các ngữ cảnh, điều này có nghĩa là nếu quy tắc phù hợp, sẽ không có quy tắc nào khác được xử lý.

Tất cả thông tin về cờ và quy tắc: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

+0

vì vậy quy tắc này sẽ hoạt động trong cả hai cửa sổ và linux? –

+1

có, chỉ cần đảm bảo rằng mod_rewrite được bật và bạn sẽ được đặt tất cả. –

+0

tuyệt vời để nghe, cảm ơn bạn một lần nữa –

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