Trong ứng dụng phụ thuộc rất nhiều vào .htaccess
RewriteRules cho PrettyURLs của nó (CakePHP trong trường hợp của tôi), làm cách nào để thiết lập chính xác các chỉ thị để loại trừ các thư mục nhất định khỏi ghi đè này? Đó là:.htaccess chỉ thị cho * không * chuyển hướng các URL nhất định
/appRoot/.htaccess
app/
static/
Theo mặc định mọi yêu cầu để /appRoot/*
đang được viết lại để được nhặt bởi app/webroot/index.php
, nơi nó được phân tích và hành động điều khiển tương ứng đang được gọi. Này được thực hiện bởi những chỉ thị trong .htaccess
:
RewriteBase /appRoot
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
bây giờ tôi muốn loại trừ một vài thư mục như tĩnh/từ viết lại này. Tôi cố gắng với điều này trước các RewriteRules Cake:
RewriteCond $1 ^(static|otherDir).*$ [NC]
RewriteRule (.*) - [L]
Nó hoạt động trong chừng mực mà các yêu cầu không còn viết lại, nhưng bây giờ tất cả yêu cầu được bỏ qua, thậm chí yêu cầu Bánh hợp pháp mà không phải phù hợp với ^(static|otherDir).*$
.
Tôi đã thử một số biến thể của các quy tắc này nhưng không thể làm cho nó hoạt động theo cách tôi muốn.