我正在build立一个WordPress网站,提供两种语言支持英语和丹麦语。
我想保留英语的语言代码stringen和丹麦语请求uri前面的da 。
像:(目前这是为我工作)
http://example.com/da
如果我访问的是post或页面,应该是这样的地图:(这不行,得到404)
设置Silex Bootstrap时出现Apache错误:无法检查htaccess文件
禁用统计/分析JavaScript
为什么Apache删除多个斜杠?
在apache中检查移动设备并redirect到移动网站
除了一个文件夹,htaccess将所有redirect到https到http
http://example.com/da/post-name http://example.com/da/page-name http://example.com/da/post/is/too/long
我也尝试过wordpress Rewrite API
add_rewrite_rule() (现在我有重写规则)
<?PHP add_action('init',function () { add_rewrite_rule( '^(da|en)/?',//Regex 'index.PHP?lang=$matches[1]',//request to 'top' //called earlier than wordpress rules ); });
和add_rewrite_tag() ,但我认为wordpress只是提供了一个add_rewrite_endpoint (我根本不需要这个)。
我认为这可能只能用htaccess %{QUERY_STRING}条件吗? (不知道)
.htaccess内容:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.PHP$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.PHP [L] </IfModule> # END wordpress
编辑:
我正在使用WP本机仪表板翻译pipe理页面,但是在前面我只是使用__()和_e()与.mo和.po文件,它的工作完美。
PS:
这个问题不是特定于wordpress的网站,我以后也需要这个基于定制的网站的帮助。 如果可以,请提供.htaccess规则/条件。
在子目录中如何使cakePHP 2.x出现在根目录下(用htaccess中的mod_rewrite)?
htaccess无声redirect到子目录:显示没有结尾“/”的子目录
.htaccess不工作的Apache-Tomcat
简单的.htaccess子域重写
如果我是你,我会使用插件,而不是从零执行。 你可以使用这个插件的多语言wp网站。 这个插件提供了三种类型的url结构;
?lang=en
/en/foo/
en.yoursite.com
RewriteEngine On RewriteBase / RewriteRule ^(en|da)/(.*)$ /$2?language=$1 [QSA,L]
我假设,你正在使用language参数的语言
编辑: qTranslate插件有一些错误。 这个bug可以通过额外的叫做qTranslate Slug的插件来解决。 不要忘了使用这个额外的插件,如果你面对的网址模式的问题
我希望你必须检查你的服务器设置,如果重写模块不活动。 从您的服务器保持重写模块活跃。
我删除了我的答案,因为看起来插件应该处理像example.com/da/post-name重写的URL …
目前,当您访问任何网址时会加载WP,并显示“WP 404错误”。
编辑3:
似乎所有的工作如预期根据你最后的评论:“现在我手动插入EN / DA在URL …”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。