Tôi có hai thư mục trong thư mục gốc: /dev
và /live
.htaccess RewriteBase
Tất cả nội dung bên trong các thư mục này đều có đường dẫn tương đối như /css/style.css
hoặc /js/home.js
.
Tôi muốn có thể thay đổi thư mục gốc bằng cách sử dụng htaccess để đường dẫn tương đối trở thành /live/css/style.css
v.v. hoặc /dev/css/style.css
tùy thuộc vào phiên bản trang web tôi đang sử dụng.
Tôi đã cố gắng sử dụng đoạn mã sau vào .htaccess nằm bên trong thư mục /live
:
RewriteEngine on
RewriteBase /live/
Tôi cũng đã cố gắng sử dụng RewriteBase /public_html/live/
.
Tuy nhiên, đường dẫn nội dung vẫn là http://domain.com/css/style.css
thay vì http://domain.com/live/css/style.css
khi tôi xem trang web.
Có ai có ý tưởng nào không?
Cảm ơn bạn.
EDIT >> Xin lỗi tôi nên giải thích rằng htaccess gốc của tôi có các quy tắc sau hướng về phía hai thư mục:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} ^((www\.)?([a-z]+)\.)domain\.com [NC]
RewriteRule ^((www\.)?([a-z]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} ^dev.((www\.)?([a-z]+)\.)domain\.com [NC]
RewriteRule ^((www\.)?([a-z]+)\.)domain\.us$ /live/index.php?tag=%3 [L,P]
Điều này là để chuyển đổi giữa trang sản xuất và phát triển, đúng không? Ví dụ: 'http: // domain.com/live/css/style.css' chỉ giải thích hay bạn có muốn các URL bên ngoài phản ánh trang web nào đang hoạt động không? Nếu sau này, tại sao? – outis
Vâng, để có thể chuyển đổi giữa hai và giữ đường dẫn tệp tương đối. – Kit
Đường dẫn bắt đầu bằng "/" là tuyệt đối, không tương đối. Vấn đề với việc sử dụng quy tắc viết lại là gì? – outis