.htaccess将domain.com/multisite/en重写域名/en/multisite

时间:2017-10-03 03:46:45

标签: wordpress apache .htaccess mod-rewrite qtranslate-x

我正在使用多站点WordPress qTranslateX插件。我的默认网站是Bahasa,我的第二语言是英语。当我在模式语言英语中使用自定义链接时,例如 mydomain.com/multisite ,它总是在mydomain.com之后添加“en”,它将是 mydomain.com/en/multisite 。该链接始终返回404,因为没有页面。

我想使用.htaccess将网址mydomain.com/en/multisite重写为mydomain.com/multisite/en。

提前致谢

1 个答案:

答案 0 :(得分:0)

不幸的是,就我所知,你无法单独用mod_rewrite实现这一目标。 Wordpress将查看REQUEST_URI以确定要显示的内容,并且不会覆盖该内容(而[E=REQUEST_URI:...]将使其成为$_SERVER["REDIRECT_REDIRECT_REQUEST_URI"])。

如果同时安装了mod_proxy,你可以这样做:

RewriteEngine On RewriteBase / RewriteRule ^en/([^/]+)(/?.*)$ /$1/en$2 [P,L]

它将在同一主机和服务器上内部代理请求。 请求http://example.org/en/test会将wordpress视为请求http://example.org/test/en

试一试。如果没有安装mod_proxy,它就不会工作(并为URL渲染404),但它不会破坏你的网站,所以试验它是非常安全的。 / p>