Điểm:1

Làm cách nào để buộc mod_rewrite chuyển hướng?

lá cờ fr

Tôi cần tạm thời chuyển hướng trang web của mình sang phiên bản tĩnh được lưu trữ trên Cloudflare. Trang web hiện tại là một trang Wordpress được lưu trữ tại Ionos và Wordpress dường như đang thực hiện chuyển hướng 301 từ mydomain.com đến www.mydomain.com. Tôi muốn có thể tiếp tục truy cập phiên bản Wordpress bằng cách truy cập www.mydomain.com nhưng nếu tôi (hoặc bất kỳ ai khác) đi đến mydomain.com Tôi muốn được chuyển hướng đến tĩnh.mydomain.com.

tôi đặt cái này trong của tôi .htaccess tập tin:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteCond %{HTTP_HOST} !^www.mydomain.com
RewriteRule ^(.*) https://static.mydomain.com/$1 [R=302,L]
</IfModule>

Tuy nhiên, khi tôi đến thăm mydomain.com Tôi vẫn được chuyển hướng đến www.mydomain.com do đó, có vẻ như .htaccess RewriteRule không được kích hoạt và vì vậy Wordpress đang thực hiện chuyển hướng của nó.

Có cách nào trong .htaccess (tôi không có quyền truy cập vào tệp cấu hình Apache) để buộc chuyển hướng như tôi đang mô tả không?

Điểm:1
lá cờ kz

Tôi cho rằng phiên bản tĩnh của trang web của bạn (tại tĩnh.example.com) thực sự là một trang web tĩnh không phải WordPress nên bản thân nó không thể giải thích cho bất kỳ chuyển hướng nào.

Không có gì thực sự "sai" với quy tắc của bạn như đã đăng. Tuy nhiên, ...

  1. Chuyển hướng "WordPress" 301 (vĩnh viễn) trước đó từ không phải www sang www sẽ được lưu vào bộ nhớ cache (liên tục) bởi bộ đệm của trình duyệt (và có thể là trung gian). Điều này sẽ cần phải được xóa theo cách thủ công cho chuyển hướng của bạn trong .htaccess để có bất kỳ tác dụng.

  2. Chuyển hướng của bạn phải đi tại hàng đầu sau đó .htaccess tập tin trước khối mã WordPress (viết lại vào bộ điều khiển phía trước), tức là. trước các # BẮT ĐẦU WordPress đánh dấu nhận xét. Nếu bạn đặt chuyển hướng ở cuối tệp (hoặc sau khối mã WordPress), nó sẽ chỉ được xử lý đối với các yêu cầu đối với tài nguyên tĩnh (và thư mục). Các URL (ảo) của WordPress sẽ không được chuyển hướng vì yêu cầu đã được viết lại thành index.php (bộ điều khiển phía trước WordPress).


Qua một bên:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mydomain.com
RewriteCond %{HTTP_HOST} !^www.mydomain.com
RewriteRule ^(.*) https://static.mydomain.com/$1 [R=302,L]
</IfModule>

Chỉ cần dọn dẹp một chút... bạn không cần phải lặp lại Viết LạiEngine Trên chỉ thị, vì điều này đã xuất hiện sau trong tệp, trong khối mã WordPress.

Bạn không cần <IfModule> vỏ bánh. Chuyển hướng này phải xảy ra, nó không phải không bắt buộc.

Thư hai điều kiện, tình trạng, trạng thái (Viết lạiĐiều kiện chỉ thị) là không cần thiết. Không cần phải kiểm tra xem Chủ nhàMột và không b. (Nếu là Một sau đó nó không thể được b cũng.)

Vì vậy, những điều trên có thể được đơn giản hóa thành:

# Tạm thời chuyển hướng đỉnh tên miền sang tên miền phụ "tĩnh"
RewriteCond %{HTTP_HOST} ^example\.com
RewriteRule (.*) https://static.example.com/$1 [R=302,L]

# BẮT ĐẦU WordPress
: Các chỉ thị khác tuân theo ....

Đă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.