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,但没有任何运气。
提前感谢您的时间和耐心。
和平。
答案 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 /
下面添加该规则。