无法激活语言目录
如果 WPML 没有让您选择语言目录(例如针对西班牙语的 http://example.com/es/),原因是它尝试访问该 URL 时出错。
以下是为了使语言目录起作用所需要的设置:
- WPML 必须能够重写 URL(我们稍后讨论它)。
- 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-->
简体中文
English
Deutsch
日本語
Español