微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

保持请求uri前面的string

我正在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] 举报,一经查实,本站将立刻删除。

相关推荐