Thư mục con nhiều trang WordPress

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à

http://domain.tld/apple

sau đó WordPress đổi tên nó

http://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á

  1. 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ó,
  2. 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

Làm cách nào để thay đổi thư mục con thành tên miền phụ trong WordPress Multisite?

Thay đổi WordPress Multisite từ thư mục con thành tên miền phụ .
Đối với các bản sao bảo mật của cơ sở dữ liệu và wp-config. .
Đặt >SUBDOMAIN_INSTALL thành true trong wp-config. .
Thay đổi các quy tắc trong htaccess theo tên miền phụ (thêm thông tin tại đây)

Sự khác biệt giữa tên miền phụ và thư mục con trong WordPress là gì?

Miền phụ phân chia trang web của bạn để bạn có thể thiết lập các loại nội dung cụ thể khác với miền gốc của mình. Mặt khác, thư mục con là một đường dẫn trong trang web của bạn. Thư mục con là một cấp độ trong hệ thống phân cấp của tên miền

Tôi có thể cài đặt một WordPress khác trong thư mục con không?

A – Bạn có thể cài đặt WordPress trong thư mục con qua FTP hoặc WP-CLI .