Tôi đang trong quá trình dọn sạch cấu trúc thư mục của miền của mình (woe được với tôi để thiết lập nội dung url gốc trong thư mục gốc!) Và cần một số thông tin chi tiết về cách sử dụng RewriteRule một cách chính xác..htaccess: Chuyển hướng url gốc sang thư mục con, nhưng giữ lại url gốc
Các Gist
Tôi muốn domain.tld sử dụng domain.tld/thư mục con/ nhưng vẫn xuất hiện như domain.tld trong url.
.htaccess My So Far
Options +FollowSymlinks
RewriteEngine On
#Force removal of wwww subdomain
RewriteBase/
RewriteCond %{HTTP_HOST} ^www.domain.tld
RewriteRule ^(.*)$ http://domain.tld/$1 [R=301,L]
#Trailing slash
RewriteRule ^/*(.+/)?([^.]*[^/])$ http://%{HTTP_HOST}/$1$2/ [L,R=301]
#Redirect root url to subdirectory
RedirectMatch 301 ^/subdirectory/$ http://domain.tld/
RewriteRule ^/$ /subdirectory/?$ [L]
Các RedirectMatch hoạt động tuyệt vời. Thật không may, t có vẻ như RewriteRule cuối cùng có nên hoạt động đơn giản, nhưng không. Thiết lập nội dung cũ trong thư mục gốc vẫn xuất hiện.
Tôi thiếu gì ở đây?
Cập nhật: Resolved
sửa chữa đơn giản rằng tôi không đủ kinh nghiệm với .htaccess/apache để có thể giải thích tại sao.
tôi đã:
RewriteRule ^/$ /subdirectory/?$ [L]
Loại bỏ một dấu gạch chéo tất cả những gì cố định:
RewriteRule ^$ /subdirectory/?$ [L]
Vì vậy, bây giờ câu hỏi của tôi là: tại sao vậy?