Tôi đang gặp một chút khó khăn trong việc tìm ra điều gì đó đơn giản. Tôi muốn 301 chuyển hướng mọi thứ trong một thư mục tới một tệp duy nhất ở một vị trí mới.Chuyển hướng 301 từ một Thư mục tới một Tệp Đơn
Trong .htaccess
của tôi, tôi đã cố gắng sau ...
Redirect 301 /myDir/ http://www.mydomain.com/myNewDir/index.html
và điều này ...
Redirect 301 /myDir/ http://www.mydomain.com/myNewDir/
và điều này ...
Redirect 301 /myDir http://www.mydomain.com/myNewDir
Các vấn đề là mỗi trong số đó chỉ đơn giản là ánh xạ từng tệp trong /myDir/
và thêm nó vào cuối URL đích.
Sau Googling, tôi thấy cái gì mà nói để làm điều này ...
Redirect 301 ^/myDir(.*) http://www.mydomain.com/myNewDir
Nhưng điều đó chỉ làm điều tương tự ... nó lập bản đồ vị trí tệp hiện có vào cuối URL.
Thật dễ dàng khi tìm thấy rất nhiều hướng dẫn trực tuyến, nhưng dường như chỉ hiển thị các ví dụ rõ ràng như 'ánh xạ một đối một' hoặc 'ánh xạ thư mục một-một ". Những hướng dẫn này cũng dường như bỏ bê giải thích các chỉ thị tập tin có liên quan khác nhau và cách sử dụng chúng đúng cách.
Tài khoản lưu trữ đặc biệt này là rác và cũng đã cài đặt tiện ích FrontPage. Mod-viết lại không thành công (phá vỡ toàn bộ trang web) nhưng các dòng Redirect 301
đang hoạt động tốt. Vì vậy, cho đến khi tôi có thể di chuyển trang web mới (không phải FrontPage) này sang một tài khoản lưu trữ mạnh mẽ hơn, tôi sẽ cần phải gắn bó với một lớp lót Redirect 301
.
Làm thế nào tôi có thể chỉ cần sử dụng một Redirect 301
để chuyển hướng mọi thứ trong /myDir/
đến cùng tập tin duy nhất tọa lạc tại /myNewDir/index.html
? (Tôi muốn sử dụng chỉ /myNewDir/
nếu có thể). Vui lòng giải thích chi tiết các chỉ dẫn tệp được sử dụng trong giải pháp của bạn.
UPDATE:
Trước đây chấp nhận câu trả lời là không làm việc.
Ví dụ:
RedirectMatch 301 /myDir1/(.*) http://mydomain.org/newpath/myDir1/index.html
... được đưa ra một "Quá nhiều chuyển hướng xảy ra cố gắng mở" lỗi.
Điều này là do /myDir1/(.*)
là phù hợp với bất cứ nơi nào trong chuỗi vì vậy nếu URL mục tiêu chứa /myDir1/
bất cứ nơi nào, không chỉ là root, nó sẽ được chuyển vào một vòng lặp khó chịu.
Xem câu trả lời đã đăng của riêng tôi để có giải pháp đúng.
Rất cảm ơn bạn. Điều này đã bắt đầu khiến tôi phát điên. Điều này làm việc để chỉ đạo nội dung của toàn bộ thư mục (mỗi trang bên trong) đến một trang nhất định. – Tom
Cũng đáng nói rằng nếu trước đây bạn đã chuyển hướng 301 đến địa điểm sai (thêm trang vào URL đích), bạn có thể cần xóa bộ nhớ cache của trình duyệt trước khi nó sẽ nhận quy tắc mới từ .htaccess. – Russ