Điểm:0

Chuyển hướng tất cả các trang sang non www và một trang sang www

lá cờ cn

Tôi muốn chuyển hướng tất cả các trang nội bộ của mình (ví dụ: ví dụ.com/about) sang phiên bản không có www nhưng tôi muốn trang chủ của mình (https://example.com) để chuyển hướng đến phiên bản www của nó (https://www.example.com).

Tôi đã tìm kiếm nhiều bài viết trên internet nhưng nó không hoạt động.

Nếu đặt cả hai quy tắc thì các trang nội bộ sẽ được chuyển hướng tốt nhưng trang chủ bị mắc kẹt trong một vòng lặp.

Tôi không biết cách viết mã, vì vậy vui lòng yêu cầu nếu bạn có thể viết mã để tôi dán vào .htaccess tập tin

Hiện tại, tôi đã đặt tất cả các trang để chuyển hướng đến các phiên bản không phải www của chúng (thậm chí cả trang chủ) với mã bên dưới:

<IfModule mod_rewrite.c>
RewriteEngine bật
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]
</IfModule>
# BẮT ĐẦU Sitepad
<IfModule mod_rewrite.c>
Viết LạiEngine Trên
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Quy tắc viết lại . index.php [L]
</IfModule>
# KẾT THÚC Bảng điều khiển trang web
Điểm:0
lá cờ kz

Tôi đã tìm kiếm nhiều bài viết trên internet nhưng nó không hoạt động.

Có lẽ bởi vì đây là một yêu cầu kỳ lạ. Tôi sẽ ngạc nhiên nếu bạn có thể tìm thấy bất kỳ mã nào mà bạn có thể chỉ cần sao chép/dán để thực hiện việc này.

Tuy nhiên, giả sử bạn đang xây dựng URL tuyệt đối chính xác cho tất cả các liên kết nội bộ của mình (vì bạn không được liên kết nội bộ tới một URL chuyển hướng) thì điều này tương đối đơn giản để triển khai trong .htaccess nếu bạn hiểu các chỉ thị hiện có của mình.

RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

biểu thức chính quy .* bên trong viết lại quy tắc mẫu diêm mọi thứ. Cụ thể, nó khớp với 0 hoặc nhiều ký tự bất kỳ, được biểu thị bằng * định lượng. Nó khớp với đường dẫn URL trống (tức là "trang chủ") và mọi đường dẫn URL không trống (tức là mọi thứ khác).

Bạn cần thay đổi biểu thức chính quy ở trên để nó khớp với đường dẫn URL không trống (nghĩa là mọi thứ trừ trang chủ). Và tạo một quy tắc khác (theo hướng khác) chỉ khớp với đường dẫn URL trống.

(Điều này sử dụng thực tế là mod_dir đang phục vụ index.php đối với các yêu cầu đến trang chủ, không phải chỉ thị mod_rewrite theo sau.)

Để khớp với 1 hoặc nhiều (ví dụ: đường dẫn URL không trống), bạn có thể sử dụng + (cộng) định lượng, thay vì * (dấu sao/dấu hoa thị).

Ví dụ:

# Chuyển hướng mọi thứ trừ trang chủ (từ www sang non-www)
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.+)$ https://example.com/$1 [L,R=301]

# Chỉ chuyển hướng trang chủ (từ không có www sang có www)
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^$ https://www.example.com/ [L,R=301]

Bạn sẽ cần xóa bộ nhớ cache của trình duyệt trước khi thử nghiệm, vì chuyển hướng 301 (vĩnh viễn) trước đó đã chuyển hướng trang chủ từ www sang không phải www sẽ được trình duyệt lưu vào bộ nhớ cache.

Trước tiên hãy thử nghiệm với lệnh chuyển hướng 302 (tạm thời) để tránh các sự cố tiềm ẩn về bộ nhớ đệm.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.