我有一个多语言 WordPress 网站,有两种语言:英语和德语,这是 A 站点。
我想将我的其他 WordPress 网站放在 /tr/shop/ 文件夹中,这是 B 站点。
只需要这些规则:
- /en/任何东西/前往站点 A (也 /en/)
- /tr/任何东西/前往地点 A (也 /tr/)
- /tr/商店/进入站点 B 的 /tr/shop 子文件夹内。
现在:
- 如果访问者访问 /en/ 或 /en/anything,则没问题。
- 如果访问者访问 /tr/shop/,他们会看到站点 B,这没问题。因为该文件夹存在。
- 访问 /tr/* 的访问者会看到 404 错误。因为 /tr/ 是一个物理文件夹,但是是空的。它只是一个语言前缀,而不是物理文件夹。我需要从请求中排除 /tr/ 文件夹。
我该怎么做?
我当前的 .htaccess 如下,但是不起作用。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
# Exclude /tr/ from rewriting
RewriteRule ^tr(/.*)?$ - [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# Beginning of shop part
RewriteRule ^tr/shop(/.*)?$ /tr/shop/$1 [L]
RewriteRule ^tr(/.*)?$ /index.php [L]
# End of shop part
</IfModule>