我到处寻找,但找不到我的问题或解决方案。
我很确定这只是与我对.htaccess
文件的唯一基本知识有关,所以如果这只是一个基本甚至愚蠢的简单问题,我很抱歉。
我想要的:一个多语言的 Wordpress 网站。我知道有一些插件可以解决这个问题,但问题是它们要么与最新版本的 Wordpress (qTranslate) 不兼容,要么是付费的(我们不想要)。我不害怕自己编写代码,我是主题开发人员,所以主题代码的问题都不是问题。
然而,当它归结为蛞蝓时,我被困住了。我正在考虑构建一种插件,为我提供“添加”某种语言的 slug 的可能性。当我保存那个 slug 时,我会编辑.htaccess
文件以重写新的 slug。
例如:“a propos de nous”将被重写为“about-us?lang=fr”,这样我就能够解析模板中的 lang 属性并查看我需要提取法语内容。
RewriteRule ^(a-propos-de-nous)$ about-us?lang=fr
现在,这行不通。如前所述,我想这是我的RewriteRule
代码有问题。我只是无法弄清楚这需要如何正确完成。
作为记录,这是我的内容.htaccess
;
<IfModule mod_rewrite.c>
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
# BEGIN custom slugs
RewriteRule ^(a-propos-de-nous)$ about-us?lang=fr
# END custom slugs
</IfModule>
编辑:显然您可以在 Wordpress 代码中添加新规则。看到这个问题:URL rewriting via Wordpress Rewrite or .htaccess Edit8 也解决了我的问题。