Một trong những vấn đề phổ biến nhất ảnh hưởng đến hầu hết các nhà phát triển web cố gắng kích hoạt WordPress Multi Site là WordPress khăng khăng rằng các blog thư mục con không thể được thiết lập. Thông điệp mà WordPress đưa ra để thể hiện sự thống trị của nó đối với các nhà phát triển web bị ảnh hưởng là
Vì cài đặt của bạn không phải là mới, các trang web trong mạng WordPress của bạn phải sử dụng tên miền phụ. Trang web chính trong cài đặt thư mục con sẽ cần sử dụng cấu trúc permalink đã sửa đổi, có khả năng phá vỡ các liên kết hiện có
Và điều đầu tiên mà các nhà phát triển web bị ảnh hưởng làm là… họ hét vào máy tính của mình “Điều đó có nghĩa là cái quái gì vậy?”
Nghiêm túc mà nói, nó có nghĩa là gì?
Điều tiếp theo họ làm là Google để tìm câu trả lời. Tôi biết điều này vì tôi đã thử cả hai chiến lược trước khi cắn viên đạn và cài đặt lại một bản cài đặt WordPress rất lớn. Một số thuật ngữ tìm kiếm của tôi là
- Không thể bật tên miền phụ nhiều trang web
- WordPress sẽ không cho phép tên miền phụ
- Làm cách nào để kích hoạt tên miền phụ không phải thư mục con trong WordPress
- Làm cách nào để buộc sử dụng tên miền phụ trong WordPress MS
- Sự cố cài đặt thư mục con tên miền phụ WordPress trên nhiều trang web
Nếu bạn đi theo con đường giống như tôi và cuối cùng, sau khi cài đặt lại WordPress, quay trở lại màn hình kích hoạt Nhiều trang web, bạn sẽ biết rằng việc cài đặt lại, trái ngược với những gì được chỉ ra trong thông báo của WordPress, không phải là giải pháp. Không, điều mà WordPress đang cố gắng nói một cách phức tạp không phải là cài đặt WordPress quá cũ để Multi Site có thể được bật cho các thư mục con mà là một thứ khác. Đây là một bản dịch của tin nhắn của nó
URL của một số bài đăng trên blog của bạn có thể xung đột với URL của các trang web thư mục con bạn tạo khi Multi Ste được bật, do đó, bạn không nên bật các trang web thư mục con
Tại sao nhóm phát triển WordPress lại sử dụng các thông báo lỗi khó hiểu yêu cầu dịch thuật như vậy, đó là một bí ẩn chung
Nói tóm lại, nếu một trang web WordPress đã hơn 30 ngày tuổi, WordPress sẽ cố gắng ngăn chuyển đổi nhiều trang web của nó bằng cách sử dụng các trang web bổ trợ thư mục con
Có một giải pháp thay thế cho việc cài đặt trang bổ sung tên miền phụ được thực thi. Có, chúng tôi có thể chống lại và buộc WordPress cho phép các trang web thư mục con
Buộc WordPress cho phép blog thư mục con
Trong quá trình kích hoạt Multi Site, một vài dòng mã cần được thêm vào wp-confg. php. Một trong những trạng thái dòng đó
define[ 'SUBDOMAIN_INSTALL', true ];
Dòng đó yêu cầu WordPress sử dụng các trang web addon tên miền phụ
Thay đổi nó thành
define[ 'SUBDOMAIN_INSTALL', false ];
và bây giờ bạn sẽ có thể tạo các trang web thư mục con
Hiện tại, WordPress lộn xộn với các URL trang web thư mục con. Nó thêm một /blog/ slug sau TLD. Ví dụ: nếu một trang web thư mục con được tạo với tên “apple” thì URL của nó phải là
//domain.tld/apple
sau đó WordPress đổi tên nó
//domain.tld/blog/apple
Bây giờ điều đó trông không chuyên nghiệp lắm. Trên thực tế, nó trông khá xấu xí. Rất may, slug “blog” có thể được gỡ bỏ. Một plugin có sẵn từ ThinkingWordPress [liên kết trực tiếp] thực hiện điều đó – nó loại bỏ con sên “blog” xấu xí
Có hai trở ngại với tất cả điều này
Buộc WordPress cho phép các trang web bổ trợ thư mục con trên các bản cài đặt WordPress cũ có giá
- Không được tạo các trang web thư mục con giống với tên bài đăng, trang, thẻ, danh mục hoặc thư mục hiện có,
- Một số trang web thư mục con sẽ không hiển thị như bình thường do xung đột với cấu trúc URL permalink của trang web chính
Giải pháp cho vấn đề đầu tiên rất đơn giản
- Không tạo các trang addon có tên giống như các sên WordPress hiện có
Vấn đề thứ hai được đặc trưng bởi bất kỳ
- Các trang web thư mục con không hiển thị khi xem
- Các trang web thư mục con hiển thị nhưng chủ đề của chúng bị hỏng [thiếu tệp CSS]
- Bảng quản trị phụ trợ của trang thư mục con chuyển hướng đến bảng quản trị của trang chính
Các triệu chứng khác có thể cũng sẽ tồn tại
Giải pháp rất đơn giản và liên quan đến việc thay đổi quy tắc viết lại URL của nhiều trang web
chỉnh sửa của bạn. htaccess và thay thế
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] # uploaded files RewriteRule ^files/[.+] wp-includes/ms-files.php?file=$1 [L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule . index.php [L] # END WordPress
Với
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # uploaded files RewriteRule ^[[_0-9a-zA-Z-]+/]?files/[.+] wp-includes/ms-files.php?file=$2 [L] # add a trailing slash to /wp-admin RewriteRule ^[[_0-9a-zA-Z-]+/]?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^[_0-9a-zA-Z-]+/[wp-[content|admin|includes].*] $1 [L] RewriteRule ^[_0-9a-zA-Z-]+/[.*\.php]$ $1 [L] RewriteRule . index.php [L] # END WordPress
Và đó là tất cả để buộc WordPress cho phép cài đặt trang web bổ trợ thư mục con khi Multi Site được bật
Con sên blog
WordPress sẽ khăng khăng chèn một con sên blog vào các URL thư mục con sao cho my-blog. tld/site-one/my-post sẽ giống như blog của tôi. tld/blog/site-one/my-post. Điều này có thể được gỡ bỏ bằng plugin Remove Blog Slug từ đây