Tôi đã có các nhà phát triển chỉnh sửa các trang cho một số trang trên ngăn xếp WAMP và sau đó tải lên các máy chủ công cộng chạy các ngăn xếp LAMP. Chúng tôi khá hài lòng với nó, nhưng chúng tôi có một phiền toái nhỏ: chúng tôi không thể sử dụng cùng một tệp .htaccess trong môi trường phát triển và sản xuất. Trên các trang web công cộng, thư mục nguồn ánh xạ tới http://foo.com
, http://bar.com
v.v. Trên máy trạm của nhà phát triển, các thư mục nguồn ánh xạ tới http://localhost/foo
, http://localhost/bar
v.v. Điều đó có nghĩa rằng tôi cần RewriteBase /
cho các máy chủ công cộng, trong khi mỗi trang web trên những ứng dụng máy trạm phát triển RewriteBase /foo/
, RewriteBase /bar/
hoặc bất cứ điều gì.
Có cách nào để chỉ định RewriteBase liên quan đến .htaccess
tệp không? Bất kỳ ý tưởng nào khác về cách làm cho quy tắc viết lại của tôi dễ mang theo hơn?
Nếu bạn tò mò, tôi đang sử dụng các quy tắc viết lại để chuyển hướng đến mã định tuyến CakePHP, vì vậy quy tắc này trông như thế này:
RewriteRule ^(.*)$ cake_main.php?url=$1 [QSA,L]
Nếu tôi không sử dụng RewriteBase /foo/
trên máy trạm của nhà phát triển, thì nó sẽ viết lại /cake_main.php
thay vì /foo/cake_main.php
.