WPML

Nếu WPML không cho phép bạn chọn thư mục ngôn ngữ (ví dụ: http://example.com/es/ cho tiếng Tây Ban Nha), đó là vì nó đã thử truy cập URL đó và gặp lỗi. Dưới đây là những gì bạn có thể kiểm tra để đảm bảo các thư mục ngôn ngữ hoạt động.


Dưới đây là những gì bạn cần thiết lập để các thư mục ngôn ngữ hoạt động:

  1. Bật tính năng viết lại URL.

  2. Cho phép WordPress có quyền đọc và ghi vào các thư mục.

  3. Đảm bảo trang web của bạn sử dụng cấu trúc đường dẫn tĩnh “đẹp”.

Như bạn thấy, không cần phải tạo các thư mục vật lý trên máy chủ. Việc chọn đặt ngôn ngữ trong các thư mục có thể thực hiện được thông qua việc viết lại URL.

Cách WPML xác định xem nó có thể bật ngôn ngữ trong các thư mục hay không


WPML cố gắng truy cập một lệnh gọi thử nghiệm để kiểm tra xem ngôn ngữ trong các thư mục có hoạt động hay không. Lệnh gọi thử nghiệm này là:
yourdomain/LANGUAGE/?____icl_validate_domain=1

Ví dụ: để kiểm tra xem tiếng Tây Ban Nha đã được bật cho miền của riêng chúng tôi (wpml.org) hay chưa, chúng tôi sẽ truy cập URL sau trong trình duyệt của mình:

http://wpml.org/es/?____icl_validate_domain=1

Khi bạn làm điều này, bạn sẽ nhận được một trang trông có vẻ trống. Nhấp chuột phải vào trang và chọn Xem nguồn trang. Bạn sẽ thấy nội dung sau:

<!--http://wpml.org-->

Điều này cho WPML biết rằng WordPress cho phép truy cập cấu trúc URL này. Nếu lệnh gọi thành công, WPML sẽ cho phép sử dụng ngôn ngữ theo thư mục. Nếu không, bạn sẽ nhận được một thông báo (phần nào) giải thích vấn đề là gì.

Nếu WPML thấy một trang lỗi, nó sẽ tắt tính năng này và in ra thông báo lỗi màu đỏ đó, cùng với các lời giải thích có thể có về lý do tại sao nó bị tắt.

Quan trọng: WPML truy cập URL xác thực bằng cách thực hiện một lệnh gọi fopen tới nó. Thông thường, nó tương tự như những gì trình duyệt làm, nhưng không giống hoàn toàn. Đảm bảo rằng fopen đã được bật trên máy chủ của bạn. Bạn có thể thêm đoạn sau vào tệp cấu hình PHP của mình để đảm bảo rằng nó không bị chặn:

SecFilterEngine Off

Đảm bảo WordPress bật tính năng viết lại URL


Để bật tính năng viết lại URL, WordPress tạo một tệp có tên .htaccess trong thư mục nơi nó được cài đặt. WordPress tạo tệp này nếu bạn đang sử dụng bất kỳ cấu trúc nào khác ngoài URL mặc định. Tệp đó phải chứa nội dung sau:
# BEGIN WordPress

<IfModule mod_rewrite.c>

  RewriteEngine On

  RewriteBase /

  RewriteCond %{REQUEST_FILENAME} !-f

  RewriteCond %{REQUEST_FILENAME} !-d

  RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Nếu nó không tồn tại, hãy thử tạo nó. Nếu nó tồn tại nhưng trống, hãy sao chép nội dung này và lưu lại.

Việc có thể viết lại URL có nghĩa là gì?


Viết lại URL là một cơ chế phức tạp, được WordPress sử dụng nhiều. Để điều này hoạt động, máy chủ web (thông thường là Apache) cần có khả năng viết lại URL và WordPress phải được phép quản lý logic viết lại.

Trong Apache, mod-rewrite thực hiện việc viết lại URL. Đây là một mô-đun khá tiêu chuẩn được bật theo mặc định. Nếu bạn đang sử dụng Apache và không thể kích hoạt thư mục ngôn ngữ, hãy kiểm tra xem mod-rewrite có đang hoạt động cho trang web của bạn hay không. Nếu bạn không chắc chắn cách thực hiện, hãy gửi email cho nhà cung cấp dịch vụ lưu trữ của bạn. Bạn có thể sử dụng mẫu này:

Xin chào!

Một plugin WordPress mà tôi muốn sử dụng yêu cầu phải bật mô-đun mod-rewrite. Bạn có thể vui lòng kiểm tra giúp tôi và cho tôi biết liệu mod-rewrite đã được bật cho trang web của tôi chưa? http://example.com


Giả sử nó đã được bật, giờ đây WordPress cần có khả năng kiểm soát các quy tắc viết URL. Để điều này xảy ra, WordPress phải có khả năng ghi vào thư mục mà nó được cài đặt.

Đảm bảo WordPress có quyền đọc và ghi vào các thư mục


Xin nhắc lại, nếu bạn đang sử dụng Apache, hãy tìm hiểu xem Apache chạy dưới người dùng nào và cấp cho người dùng đó quyền đọc và ghi vào thư mục cài đặt WordPress. Bạn có thể làm điều đó bằng chương trình FTP của mình, qua shell hoặc qua email.
Chào bạn,

Tôi cần nhờ thêm một việc. Tôi đã cài đặt WordPress trong thư mục này:

YOUR_WP_INSTALL_DIRECTORY

Bạn có thể thay đổi quyền truy cập tệp cho toàn bộ thư mục (đệ quy), để máy chủ web có thể vừa đọc vừa ghi ở đó không? Tôi cần WordPress có thể ghi vào một số tệp.


Bây giờ, hãy kiểm tra lại.
Trang web của bạn cần sử dụng cấu trúc đường dẫn tĩnh “đẹp”. Bạn có thể thay đổi cấu trúc đường dẫn tĩnh của trang web trong cài đặt WordPress của bạn.

Khắc phục sự cố


Nếu bạn sử dụng CDN, chẳng hạn như Cloudflare, nó có thể chặn các ngôn ngữ trong thư mục hoạt động chính xác bằng cách xóa các chú thích HTML. Kết quả là, bạn có thể thấy một lỗi dương tính giả, hiển thị cảnh báo liên quan đến ?____icl_validate_domain=1 mà không có bất kỳ sự cố nào trên giao diện người dùng.

Cần trợ giúp?


Nếu cách này vẫn không hiệu quả, vui lòng đặt câu hỏi hỗ trợ trong bộ phận hỗ trợ của WPML.

Được viết bởi Amir · Cập nhật lần cuối vào 18 tháng 10 năm 2024