Tôi đã đào cao và thấp xung quanh Google và StackOverflow để thử và tìm ra vấn đề của mình, thử vô số giải pháp nhưng không có gì hoàn toàn hoạt động.htaccess Chuyển hướng Im lặng sang Subdirectory: Subdirectory hiển thị khi không có dấu '/'
Tôi đang tìm cách di chuyển gốc web của tên miền chính trên máy chủ của tôi sang thư mục con. Những gì tôi hiện có cho một con đường server để rễ web của tôi:
/home/user/public_html/MyWebFilesHere
Những gì tôi đang tìm cách để có:
/home/user/public_html/subdir/MyWebfilesHere
Khi tôi duyệt đến mydomain.com, không nên có sự khác biệt rõ ràng mặc dù (tức là "subdir" không hiển thị sau khi chuyển hướng).
Thật không may, tôi bị hạn chế làm điều này hoàn toàn với tệp .htaccess kể từ khi tôi đang ở trên lưu trữ được chia sẻ và không có quyền truy cập vào tệp cấu hình Apache và như vậy. :(
Những gì tôi hiện có trong .htaccess của tôi trong public_html là:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule ^(.*)$ /subdir/$1 [L]
này chuyển hướng thành công tất cả các truy vấn đến các thư mục con, tuy nhiên có một vấn đề thực sự lạ Nếu tôi đi đến
.mydomain.com/Contact/
nó hoạt động tuyệt vời, chuyển hướng các truy vấn đến đường dẫn/subdir/Liên hệ/nhưng lại thanh địa chỉ một mình. Nếu tôi đi đến
mydomain.com/Contact
(Lưu ý việc thiếu một dấu '/') Mặc dù vậy, những gì thể hiện trong thanh địa chỉ là
mydomain.com/subdir/Contact/
mà không phải là những gì tôi muốn vì "subdir" được hiển thị.
Đối với một ví dụ làm việc trên trang web thực tế của tôi, hãy thử duyệt tới
colincwilliams.com/Contact/
so với
colincwilliams.com/Contact
Do you guys có bất kỳ ý tưởng về làm thế nào để làm cho công việc này âm thầm cả có và không có một dấu gạch chéo?
Jon Lin, câu trả lời của bạn là siêu hữu ích và thực hiện một tấn tinh thần. Cảm ơn! Nó đã làm việc (gợi ý thứ hai thêm dấu gạch chéo), ngoại trừ nó bây giờ đã phá vỡ các liên kết CSS của tôi vì một lý do nào đó. Chúng được định dạng là "/CSS/core-style.css" nhưng đang trả về 404. –
Sau một lần điều tra, có vẻ như các liên kết CSS đang bỏ qua tệp htaccess; "/ CSS/..." đang tìm kiếm trực tiếp trong thư mục public_html cho CSS/thay vì đi vào thư mục con. –
Ồ, quên bạn cần phải loại trừ các tệp khỏi phần tử "/" theo sau. Xem chỉnh sửa của tôi –