我使用的是多站点WordPress和qTranslateX插件。我的默认网站是巴哈萨语,我的第二语言是英语。当我在像mydomain.com/multisite,这样的模式语言中使用自定义链接时,总是在mydomain.com后面加上"en“,它将是mydomain.com/en/multisite.。该链接总是返回404,因为没有页面。
我想使用.htaccess重写mydomain.com/en/multisite的网址到mydomain.com/multisite/en。
提前感谢
发布于 2017-10-03 07:24:30
不幸的是,据我所知,仅靠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 ),但是它不会破坏您的站点,所以使用它是非常安全的。
https://stackoverflow.com/questions/46536905
复制相似问题