首页 » 文档 » 入门指南 » 语言设置 » 无法激活语言目录

无法激活语言目录

如果 WPML 没有让您选择语言目录(例如针对西班牙语的 http://example.com/es/),原因是它尝试访问该 URL 时出错。

以下是为了使语言目录起作用所需要的设置:

  1. WPML 必须能够重写 URL(我们稍后讨论它)。
  2. WordPress 应当是安装在您网站的根目录中(例如 http://example.com 而非 http://example.com/myblog)或使用默认的永久链接结构。

WPML 如何确定它能否启用目录中的语言

WPML 尝试访问一个可检查目录中的语言是否可用的测试调用。 此测试调用是:

yourdomain/LANGUAGE/?____icl_validate_domain=1

例如,要检查我们自己的域 (wpml.org) 是否启用了西班牙语,我们会调用:

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

当您进行此调用时,您将获得一个看起来空白的页面。 其内容(您可通过查看页面源代码看到)是:

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

这告诉 WPML WordPress 允许访问此 URL 结构。 如果调用得以通过,WPML 将允许按目录使用语言。 否则,您将获得某类消息以解释问题。

如果 WPML 看到出错页面,它将禁用此功能并显示红色错误消息,并可能解释禁用原因。

确保 WordPress 启用了 URL 重写

为了启用 URL 重写,WordPress 将在其安装文件夹中创建一个名为 .htaccess 的文件。 如果您使用的不是默认 URL,WordPress 将创建此文件。 该文件应当包含以下内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.php [L]
</IfModule>
# END WordPress

如果不存在,请尝试创建它。 如果文件存在但没有内容,则复制粘贴这些内容并保存。

“能够重写 URL”是什么意思?

URL 重写是个复杂的机制,WordPress 大量使用它。 要使这起作用,网站服务器(通常是 Apache)需要能够重写 URL,必须允许 WordPress 管理重写逻辑。

在 Apache,URL 重写是由 mod-rewrite 完成的。 它是一个默认启用的相当标准的模块。 如果您使用的是 Apache 但无法激活语言目录,请检查您的网站是否确实激活了 mod-rewrite。 如果您不确定怎么检查,请发信给您的主机提供商。 您可以这么写:

Hey there!

A WordPress plugin that I want to use requires the mod-rewrite module enabled. Can you please check for me and tell me if mod-rewrite is enabled for my website? http://example.com

假设 URL 重写已启用,WordPress 现在需要能够控制 URL 写规则。 为此,WordPress 必须能够写入它的安装文件夹。

同样,如果您使用的是 Apache,请查看 Apache 是在哪个用户下运行的,然后允许该用户读写 WordPress 的安装文件夹。 您可以使用 FTP 程序,通过 shell 或电子邮件完成。

Hello again,

I need another favor. I’ve installed WordPress in this directory:

YOUR_WP_INSTALL_DIRECTORY

Can you change the file permissions for the entire directory (recursively), so that the web server can both read and write there? I need WordPress to be able to write to some of the files.

现在再次查看。

如果仍然不起作用,敬请访问论坛并开设新问题。

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