【问题标题】:Domain redirects Apache htaccess域重定向 Apache htaccess
【发布时间】:2020-07-26 21:39:20
【问题描述】:

我在 mysite.com 域的 wordpress 中创建了主站点(多语言站点)。

默认情况下 mysite.com 以本地语言而不是英语打开。我已注册要重定向到 mysite.com 的本地域。

mysite.local -> mysite.com(这很好)

但我想为国际用户将 mysite.com 重定向到 mysite.com/en。如果他们在浏览器中键入地址 mysite.com 或从谷歌打开,我希望用户被重定向到页面的 /en 版本。

是否可以使用 apache .htaccess 来实现这一点,因为我只与 htaccess 共享主机?

【问题讨论】:

  • “默认情况下,mysite.com 以本地语言而不是英语打开。” - 意思是,您有一些东西可以自动重定向到浏览器指示的首选语言?然后我们需要知道它是如何实现的细节。
  • @CBroe mysite.com 内置在带有 WPML 插件的 Wordpress 中,并且 WPML 设置中的默认语言设置为本地(俄语)语言。对于国际用户,有 /en/ 站点。
  • 那么你可能需要一个 RewriteCond 的组合来检查请求的 URI 是否以任何潜在的语言标识符开头,以及一个 RewriteRule ,它只是在开头插入 en/ 部分路径并在那里重定向。
  • @CBroe 我想,我会为此编写 Wordpress 插件。

标签: apache .htaccess redirect dns


【解决方案1】:

您可以通过以下 .htaccess 规则实现这一点 -

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/en/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /en/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ en/index.html [L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    相关资源
    最近更新 更多