使用Wordpress重写多语言网站的规则

时间:2015-02-17 19:49:00

标签: .htaccess mod-rewrite seo

enter link description here我对.htaccess知之甚少,我需要一个建议。

我正在使用Wordpress开发一个多语言网站,我将使用一些名为Localise.js的JS魔术翻译内容

使用此网络应用,我可以通过将参数?ljs=XX添加到我的网址轻松翻译任何网址。

例如,如果我想将此网址http://www.example.com/company翻译成西班牙语,我会使用网址http://www.example.com/company?ljs=es

出于搜索引擎优化的目的,我想将URL重写为更有意义的内容,例如: http://www.example.com/es/company

所以页面如下:

http://www.example.com/es/company

http://www.example.com/fr/company

http://www.example.com/jp/company

只是指向http://www.example.com/company

如何将这些规则与Wordpress基本重写规则合并?

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

我试图调整that solution,但没有任何运气。

提前感谢您的时间和耐心。

和平。

1 个答案:

答案 0 :(得分:0)

不确定这是否会为你做,可能有一个wordpress特定的方法来处理它使用其内部重写引擎,但启用mod_proxy,你可以尝试内部代理请求wordpress。这样做的原因是因为这会创建wordpress能够解释的 new 请求。否则,当您在内部重写时,$_SERVER['REQUEST_URI']等服务器变量将是错误的。

类似于:

RewriteRule ^(en|es|fr|jp)/(.*)$ /$2?ijs=$1 [L,QSA,P]

您需要填写(en|es|fr|jp)列表以包含您支持的所有语言,或将该正则表达式更改为([a-z]{2})。然后,您可以在RewriteBase /下面添加该规则。